• 締切済み

チェックボックスの選択チェック

ラジオボタンの選択チェック、セレクトボタンの選択チェックのあとにチェックボックスの選択チェックをしたいのですが、どのように入れればよいのでしょうか。教えてください。 ↓参考までに↓ function check() { var flag=0; if( document.form1.seibetu.length){ flag=1; var i; for(i=0; i<document.form1.seibetu.length; i++) if(document.form1.seibetu[i].checked)flag=false; } if(flag){ alert('性別が選択されていません'); return false; } if(document.form1.nenrei.value=="")flag=true; if(flag){ alert('年齢が選択されていません'); return false; } if( document.form1.Q1.length){ flag=1; var i; for(var i=0; i<document.form1.Q1.length; i++) if(document.form1.Q1[i].checked)flag=false; if(flag){ alert('Q1が選択されていません'); return false; } else {★★★ここに入れたい★★★   ;} } }

みんなの回答

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

データ管理もふくめてこなれていないので、今の方式はどうかと・・・。 なおしたのでみてください。 ちなみに前回もきになったのですが、スレッド違いなので 同様の質問は今後javascriptの部屋に書き込んでください。 <script> function check(f) { var obj=new Object(); obj.setObj=function(key,txt){ this[key]=new Object(); this[key].txt=txt; } obj.setObj("seibetu","性別"); obj.setObj("nenrei","年齢"); obj.setObj("Q1","Q1"); obj.setObj("Q2","Q2"); for(var i in obj){ if(f[i]){ var type=f[i].type?f[i].type:f[i][0].type //##### radio ##### var flag=true; if(type=="radio"){ for(var j=0;j<f[i].length;j++) if(f[i][j].checked) flag=false; if(flag){ alert(obj[i].txt+"が選択されてない") return false; } } } //##### checkbox ##### flag=true; if(type=="checkbox"){ if(f[i].length){ for(var j=0;j<f[i].length;j++) if(f[i][j].checked) flag=false; }else{ if(f[i].checked) flag=false; } if(flag){ alert(obj[i].txt+"が選択されてない") return false; } } //##### select-one ##### flag=true; if(type=="select-one"){ if(f[i].value!="") flag=false; if(flag){ alert(obj[i].txt+"が選択されてない") return false; } } } return false; } </script> <form onSubmit="return check(this)"> 性別:<input type="radio" name="seibetu" value="1">男 <input type="radio" name="seibetu" value="2">女 <br> 年齢: <select name="nenrei"> <option value="">選択してください</option> <option value="0">0~9</option> <option value="10">0~19</option> <option value="20">10~29</option> <option value="30">20~39</option> <option value="40">30~49</option> </select> <br> Q1:チェックボックスが1個 <input type="checkbox" name="Q1" value="1">1 <br> Q2:チェックボックスが複数 <input type="checkbox" name="Q2" value="1">1 <input type="checkbox" name="Q2" value="2">2 <input type="checkbox" name="Q2" value="3">3 <br> <input type="submit" value="GO"> </form>

noname#234804
質問者

お礼

申し訳ございませんでした(´-ω-`;)