- 締切済み
チェックボックスのチェックした項目の名前を取得したいです。
チェックボックスのチェックした項目の名前を取得したいです。 HTML+Javascript+CGIでアンケートフォームを作っています。 送信ボタンを押したときに確認画面を表示させたいのですが、チェックボックスの項目をどう扱って良いのかわかりません。 性別を選択するラジオボタンの値の取得(男をチェックしたか、女をチェックしたか)は sex = document.mailform.sex[0].checked ? document.mailform.sex[0].value : document.mailform.sex[1].value このように出来るとのことですが、チェックボックスはどうしたら良いのでしょうか? 好きな食べ物を聞くチェックボックスで、選択項目に ・リンゴ・バナナ・ミカン・イチゴ を用意し、チェックされた項目を 好きな食べ物:リンゴ イチゴ の用に出力したいと思っています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- babu_baboo
- ベストアンサー率51% (268/525)
どっちみち、レスないだろから、みじかくして、2つ。 <script type="application/javascript;version=1.8"> alert(Array.filter(document.forms['xxx'].elements['yyy'],function(e)e.checked).map(function(e)e.value).join(',')); var c=document.forms['xxx'].elements['yyy'],i=0,r=[],o;while(o=c[i++])o.checked&&r.push(o.value)alert(rst.join(',')); </script>
- ajalabox
- ベストアンサー率0% (0/0)
こんな感じでよろしいでしょうか。 スクリプト部分: <script type="text/javascript"> function kakunin() { var arr = []; for(var i=0;i<=document.fm1.fruits.length;i++) if(document.fm1.fruits[i].checked) arr.push(document.fm1.fruits[i].value); return confirm("好きな食べ物 : " + arr.join(" ") +"\nこれでよろしいですか?"); } </script> フォーム部分: <form method="post" action="xxx.cgi" name="fm1" onsubmit="return kakunin();"> <input type="checkbox" value="りんご" name="fruits">りんご<br> <input type="checkbox" value="バナナ" name="fruits">バナナ<br> <input type="checkbox" value="ミカン" name="fruits">ミカン<br> <input type="checkbox" value="いちご" name="fruits">いちご<br> <input type="submit" value="送信"> </form>
- babu_baboo
- ベストアンサー率51% (268/525)
var chkbx = document.forms[ 'xxx' ].elements[ 'yyy' ]; var cnt = 0; var rst = [ ]; var obj; while( obj = chkbx[ cnt++ ] ) obj.checked && rst.push( obj.value ) alert( rst.join( ',' ) );
補足
コレをプログラムに組み込んでみたのですが、kakunin()の処理を行わずにcgiの処理を行ってしまうようです。