• ベストアンサー

form の checkbox の配列 name の選択値を confirm画面に出すには?

form の checkbox の name を配列で記述しました( PHP で受け取るのに便利なので)が、checked value を confirm画面に出すことができません。 ご存知の方、お教えください。 ソースおよび分からない部分はつぎのとおりです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www/w.w3.org/TR/REC-html14/loose.dtd"> <HTML> <HEAD> <META http-equiv=content-type content="text/html;charset=Shift_JIS"> <TITLE>よろしくお願いします。</TITLE> <META http-equiv=content-Style-type content="text/css"> <script type="text/javascript"> <!-- function conf(tfm) { wrt = "選択項目は以下でよろしいですか?\n\n" /* この部分に書くべき script がわかりません。   よろしくお願いいたします。m(_ _)m     */ confirm ( wrt ) ; } //--> </script> </HEAD> <BODY> <form name=tfm action="http://localhost/form.php" method=post> <BR>選択してください。(複数選択可)<BR><BR> <input type=checkbox name="abc[]" value="A ">A,  <input type=checkbox name="abc[]" value="B ">B,  <input type=checkbox name="abc[]" value="C ">C,  <input type=checkbox name="abc[]" value="D ">D,  <input type=checkbox name="abc[]" value="E">E<BR><BR> <input type=button value="確 認" onClick="conf(tfm)">  <input type=reset value="キャンセル"> </form> </BODY> </HTML>

noname#19070
noname#19070

質問者が選んだベストアンサー

  • ベストアンサー
noname#22259
noname#22259
回答No.1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www/w.w3.org/TR/REC-html14/loose.dtd"> <HTML> <HEAD> <META http-equiv=content-type content="text/html;charset=Shift_JIS"> <TITLE>よろしくお願いします。</TITLE> <META http-equiv=content-Style-type content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function conf() { var val=[]; var el=document.forms['tfm'].elements['abc[]']; for(var i=0;i<el.length;i++){ if(el[i].checked==true){ val[i]=el[i].value; }} wrt = "選択項目は以下でよろしいですか?\n\n" +val.join('/') confirm ( wrt ) ; } //--> </script> </HEAD> <BODY> <form name="tfm" action="http://localhost/form.php" method="post"> <BR>選択してください。(複数選択可)<BR><BR> <input type=checkbox name="abc[]" value="A ">A,  <input type=checkbox name="abc[]" value="B ">B,  <input type=checkbox name="abc[]" value="C ">C,  <input type=checkbox name="abc[]" value="D ">D,  <input type=checkbox name="abc[]" value="E">E<BR><BR> <input type=button value="確 認" onClick="conf()">  <input type=reset value="キャンセル"> </form> </BODY> </HTML>

noname#19070
質問者

お礼

早速のご回答ありがとうございます。 おかげさまで助かりました。 この方法ですと、もとのcheckboxを変更しても、こちらは変更不要で、たいへん便利ですね。 これぞ配列さまの醍醐味でしょうか! いままで、配列はむずかしそうで敬遠していましたが、今後は積極的に使っていこうと思います。 ところで、xepharos様には以前にも助けていただいたことがございます。 質問No.2050190。ご回答日時:06-03-25/10:02 です。 今後もどうぞよろしく!!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

<script type="text/javascript"> function conf(f) { var txt=""; for (var i=0;i<f.length;i++){ if(f[i].checked==true && f[i].name=="abc[]") txt+=((txt=="")?"":",")+f[i].value; } if (txt=="") txt="データ無し"; wrt = "選択項目は以下でよろしいですか?\n\n" wrt +=txt confirm ( wrt ) ; } //--> </script> </HEAD> <BODY> <form action="http://localhost/form.php" method=post> <BR>選択してください。(複数選択可)<BR><BR> <input type=checkbox name="abc[]" value="A">A <input type=checkbox name="abc[]" value="B">B <input type=checkbox name="abc[]" value="C">C <input type=checkbox name="abc[]" value="D">D <input type=checkbox name="abc[]" value="E">E<BR><BR> <input type=button value="確 認" onClick="conf(this.form)">  <input type=reset value="キャンセル"> </form>

noname#19070
質問者

お礼

ご回答ありがとうございます。 このような書き方もあるのですね。 配列は奥が深いですね。 yambejp様にも最高点をさしあげたいのですが、今回はご回答順にさせていただきますので、よろしくご了承のほどお願い申し上げます。

関連するQ&A

  • CHECKBOXとTEXTBOXのnameが同じ場合

    下記のようにチェックボックス名とテキストボックス名が同じ場合、エラーになりますが、これをjavascriptのみでうまく処理できる方法はないでしょうか。 #nameは同じまま。 #cgiを経由せず。 #下記と同じことをやりたいわけではありません。単に簡単にしたサンプルです。 <form name="main"> <INPUT TYPE="CHECKBOX" NAME="address" VALUE="東京">東京<BR> <INPUT TYPE="CHECKBOX" NAME="address" VALUE="大阪">大阪<BR> <INPUT TYPE="CHECKBOX" NAME="address" VALUE="その他" onclick="document.main.address.value = 'その他だよ'">その他<BR> <INPUT TYPE="text" NAME="address" SIZE="20"> </form>

  • checkboxの選択数制限と排他処理について

    javascript初心者です。よろしくお願い致します。現在チェックボックスを使用したクイズサイトを作成しており、回答が5つの中から正しいものをチェックし送信するというものです。 その中で、正解数(今回は2つ)以上にチェックをした時に最初にチェックした方のチェックボックスのチェックが外れるという仕組みを組み込む事になりました。 選択数に制限をかけることや排他処理(ラジオボタン)は理解できるのですが、上記の実現方法がどうしても分からず質問させていただきました。 どうかよろしくお願い致します。 <html> <head> <script type="text/javascript"> function check(f,o,m){ var c = i = 0, b = f.elements; for (i; i < b.length; i++) if(b[i].type&&b[i].type=='checkbox'&&b[i].checked&&b[i].parentNode.id==o) c++; for (i = 0; i < b.length; i++) if(b[i].type&&b[i].type=='checkbox'&&!b[i].checked&&b[i].parentNode.id==o) b[i-2].checked=false;// これだと2つ前ではなく2番目のチェックボックスが排他になります。 } </script> </head> <body> <form action="#" id="sampleform" onclick="check(this,'options',2);"> <fieldset id="options"><input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> </fieldset> </form> </body> </html>

  • チェックボックスのON/OFFに応じて別の複数のチェックボックスも連動ON/OFF

    7番のcheckboxをON→1,2,4,5番にチェックもON 7番のcheckboxをOFF→1,2,4,5番にチェックもOFF という風に動作させる記述をご教示ください。 よろしくお願い致します。 <html> <head> <script type="text/javascript"> </script> </head> <body> <form action="" method="post" name="myform"> 去年<br> 1番<input type="checkbox" name="kyonen[]" value="1">1月<br> 2番<input type="checkbox" name="kyonen[]" value="2">2月<br> 3番<input type="checkbox" name="kyonen[]" value="3">3月<br> 今年<br> 4番<input type="checkbox" name="kotosi[]" value="1">1月<br> 5番<input type="checkbox" name="kotosi[]" value="2">2月<br> 6番<input type="checkbox" name="kotosi[]" value="3">3月<br> 7番<input type="checkbox" name="mychk">去年と今年の1、2月をまとめてチェック<br> </form> </body> </html>

  • javascript confirmでFORM送信

    javascript confirmにて「この点数で良ければ送信する」というものを考えています。 この点数部分は変数になる予定であり、javascript内部で生成されます。 まずは、変数ではなく固定値として、javascriptの中にある数値を<form></form>の中に生成することを考えましたがいきなりつまずきました。 「100という数値を送信」するつもりだったのですが、うまく送信することが出来ません。 どこを修正すればいいかご教示いただきたくお願いいたします。 <html> <head> <title>submit</title> </head> <script language="javascript"> <!-- function frmSubmit() { var errFlag=true; if(errFlag==false) { return; } if(confirm("100点です。送信しますか?")) { document.frm.submit(); document.getElementById("plus").value ="100"; } else { } } //--> </script> <body> <form method="post" action="form.cgi" name="frm" target="_self"> <input type="HIDDEN" id="plus" value="" /><br /> <input type="button" value="send" onclick="frmSubmit();"> </form> </body> </html>

  • checkboxをshiftキーを押しながらクリックすると複数選択する

    checkboxをshiftキーを押しながらクリックすると複数選択するソースなのですが、 htmlファイルでは動作するのですが、以下のようにperl(cgiファイル)では複数選択できません。 もしかしたらjavaのコーディングの問題かもしれませんが、行き詰っております。 どなたかご教授お願い申し上げます。 ↓------------------------------------------- #!c:/Perl/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; print "Content-type: text/html\n\n"; print <<EOM; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.field_j.js"></script> <script type="text/javascript"> var bIsFirebugReady = (!!window.console && !!window.console.log); $(document).ready( function (){ $("#idPluginVersion").text($.Field.version); setLimitSelection(); $('input[name="chkRange"]').createCheckboxRange(function(bChecked){ $("label[for=" + this.id + "]").css("background-color", (bChecked) ? "#ffffff" : ""); }); $("#frmNavigation").autoAdvance(); window.oSelector = $("#selector"); } ); function setLimitSelection(){ $('input[name="chkLimit"]').limitSelection( { limit: 3, onfailure: function (n){ $("#idCheckboxMsg").html( "You can not select more than " + n + " items." ); return false; }, onsuccess: function (n){ $("#idCheckboxMsg").html(""); return false; } } ); $('select[name="selLimit"]').limitSelection(2); } </script> <title>test</title> </head> <body> <form action="" method="post" id="frmCreateCheckboxRange" onsubmit="return false;"> <p> <table> <tr> <td> <input type="checkbox" name="chkRange" id="chkRange_1" value="1" /> </td> <td> <input type="checkbox" name="chkRange" id="chkRange_2" value="2" /> </td> <td> <input type="checkbox" name="chkRange" id="chkRange_3" value="3" /> </td> </tr> </table> </p> </form> </body> </html> EOM ↑------------------------------

    • ベストアンサー
    • Perl
  • JavaScriptでcheckboxの入力個数制限

    以下のようなチェックボックスがあります。 3つ以上チェックできないようにしたいのですが、JavaScriptで可能でしょうか? <FORM method=POST action="aaa.cgi" name="FORM1"> <input type="checkbox" name="Q1" value="1">1<br> <input type="checkbox" name="Q2" value="1">2<br> <input type="checkbox" name="Q3" value="1">3<br> <input type="checkbox" name="Q4" value="1">4<br> <input type="checkbox" name="Q5" value="1">5<br> </form>

  • チェックボックスの全選択/解除について

    お尋ねします。 チェックボックスの全選択/解除について 1画面にチェックボックスのグループが複数(store、item)あります。 下記のソースだと【store】の全選択を押下すると【store】【item】両方とも 全選択状態になります。 【store】の全選択/全解除は【store】のみ 【item】の全選択/全解除は【item】のみにしたいのですが どのようにするとよろしいのでしょうか? よろしくお願いします。 <SCRIPT TYPE="text/javascript"> <!-- function allcheck(targetForm,flag){  for(n=0;n<=targetForm.length-1;n++){   if(targetForm.elements[n].type == "checkbox"){    targetForm.elements[n].checked = flag;   }  } } --> </SCRIPT> <table width="70%" align = "center" cellspacing="0"> <form action="confirm.php" method="post" target="_blank"> <tr> <td align="center"> <input type="checkbox" name="store[]" value="1" />A店<br/> <input type="checkbox" name="store[]" value="2" />B店<br/> <input type="checkbox" name="store[]" value="3" />C店<br/> <input type="checkbox" name="store[]" value="4" />D店<br/> <input type="checkbox" name="store[]" value="5" />E店<br/> <input type="button" value="全選択" onClick="allcheck(this.form,true)"/><br> <input type="button" value="全解除" onClick="allcheck(this.form,false)"/> </td> <td align="center"> <input type="checkbox" name="item[]" value="1" />項目1<br/> <input type="checkbox" name="item[]" value="2" />項目2<br/> <input type="checkbox" name="item[]" value="3" />項目3<br/> <input type="checkbox" name="item[]" value="4" />項目4<br/> <input type="checkbox" name="item[]" value="5" />項目5<br/> <input type="button" value="全選択" onClick="allcheck(this.form,true)"/><br> <input type="button" value="全解除" onClick="allcheck(this.form,false)"/> </td> </tr> <tr align="center"> <td colspan="4"> <input type="submit" name="con" value="確認"> </td> </tr> </form> </table>

    • 締切済み
    • PHP
  • htmlでの表示の切り替えです。

    こんにちは。 htmlを用いて課題を作っています。 チェックボックスを用いてその結果によってページ内に表示される文章を切り替えたいのですが、 うまくいきません。 <form name="chbox"> <input type="checkbox" value="ハンバーグ">ハンバーグ<br> <input type="checkbox" value="わかめスープ">わかめスープ<br> <input type="checkbox" value="ほうれんそうのおひたし">ほうれん草のおひたし<br> <input type="checkbox" value="サラダ">サラダ<br> <input type="checkbox" value="うどん">うどん<br> <input type="checkbox" value="バター">バター<br> <input type="button" value="オッケー" onclick="BoxCheck()"> </form> こんな風なjavaを用いているのですが・・・ 初心者なので至らぬ点はあると思いますがよろしくお願いします。 <script type="text/javascript">

  • form nameをform actionにしたいんですが・・・

    <html> <head> <title> 商品確認 </title> <script language ="JavaScript"> <!-- function calc(amount){ document.ball.total.value = 4095 * eval(amount); }//--> </script> </head> <body> <form name=ball method="post"> //←ここをform action="x.php"にしたい。 V4SLBL ソフトタッチ鈴入り4号球<br> <hr> 個数: <select name ="num" onchange = "javascript:calc(this.value)"> <option value =0>0 <option value =1>1 <option value =2>2 <option value =3>3 <option value =4>4 <option value =5>5 </select> 小計: <input type="text" size="8" name="total">円<br> <hr> </form> </body> </html> 上の場所をaction="x.php"にしてx.phpに小計を送ろうとしています。 しかし、actionにすると小計が表示されなくなります。 いろいろ考えましたが全く答えが出てきません。 アドバイスよろしくお願いします。

  • アンケートフォームがうまく動かない

    プロバイダーは日本テレコム、レンタルサーバーはロリポップです。 以下のように、アンケートフォームを作りました。 <FORM ACTION="/cgi-bin/enquete.cgi?user=○○○○&address=○○○○@○○" METHOD="post"> 名前 <INPUT TYPE="text" NAME="name" SIZE="18" maxlength="30"><br><br> 居住地(都道府県のみ) <INPUT TYPE="text" NAME="house" SIZE="18" maxlength="30"><br><br> メールアドレス <INPUT TYPE="text" NAME="name" SIZE="18" maxlength="30"><br><br> 年齢 <input type="checkbox"name="old"value="19歳以下">19歳以下 <input type="checkbox"name="old"value="20~25歳未満">20~25歳未満 <input type="checkbox"name="old"value="25~30歳未満">25~30歳未満 <input type="checkbox"name="old"value="30~35歳未満">30~35歳未満 <input type="checkbox"name="old"value="35~40歳未満">35~40歳未満 <input type="checkbox"name="old"value="40~45歳未満">40~45歳未満 <input type="checkbox"name="old"value="45~50歳未満">45~50歳未満 <input type="checkbox"name="old"value="50歳以上">50歳以上<br><br> アンケートにご協力いただきましてありがとうございました。<br><br> <INPUT TYPE="SUBMIT" VALUE="送信する"> <INPUT TYPE="RESET" VALUE="書き直す"> </FORM> 以上のようなものです。 ですが、送信ボタンを押しても、ロリポップ側で、「指定されたページ(URL)は見つかりません。」と出ます。 上部の○○部分、2つありますが、後半のほうは送信先となるアドレスを記入しますよね。最初のほうの○○には何を記入するのですか? といいますか・・・上のHTMLは全然ダメですか? できるだけ平易に教えていただけましたらと思います。

専門家に質問してみよう