• ベストアンサー

CheckBoxの入力チェックについて

CheckBoxの入力チェックについて CheckBoxの数は可変です。 全て未チェックのときにalertを表示したいです。 今はチェックしてもalertが表示されてしまいます。 よろしくお願いします。 <html> <head> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>チェックボックス入力チェック</title> <SCRIPT TYPE="text/javascript"> <!-- function item_check() { count = 0; for (i=0;i<=document.form1.elements['item[]'][i].length;i++){ if(document.form1.elements['item[]'][i].checked){ count++; } } if(count==0){ alert("項目を選択してください。"); return(false); } return(true); } --> </SCRIPT> </head> <body> <form name="form1" method="POST" action="test.htm" onSubmit="return item_check()"> <p><input type="checkbox" name="item[]" value="1">項目1</p> <p><input type="checkbox" name="item[]" value="2">項目2</p> <p><input type="checkbox" name="item[]" value="3">項目3</p> <p><input type="checkbox" name="item[]" value="4">項目4</p> <p><input type="checkbox" name="item[]" value="5">項目5</p> <input type="submit" name="kakunin" value="確認"> </form> </body> </html>

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

  • ベストアンサー
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.2

function item_check( form ) { // var を省略するとグローバル変数になります。 var count = 0; // 毎回 document からたどるのは非効率的。ついでに匿名性を持たせるために form を引数で渡すように変更。 var eles = form.elements[ 'item[]' ]; for (var i=0;i < eles.length; i++){ // [i] と = が余分。原因はここ if(eles[i].checked){ count++; } } if(count==0){ alert("項目を選択してください。"); return(false); } return(true); } <form name="form1" method="POST" action="test.htm" onSubmit="return item_check(this);">

その他の回答 (1)

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

こんなかんじでどうでしょ? <script> function item_check(f){ var flg=false; for (var i=0;i<f.length;i++){ if(f[i].name=="item[]" && f[i].checked){ flg=true; break; } } if(!flg) alert("項目を選択してください。"); return flg; } </script> <form onSubmit="return item_check(this)"> <p><input type="checkbox" name="item[]" value="1">項目1</p> <p><input type="checkbox" name="item[]" value="2">項目2</p> <p><input type="checkbox" name="item[]" value="3">項目3</p> <p><input type="checkbox" name="item[]" value="4">項目4</p> <p><input type="checkbox" name="item[]" value="5">項目5</p> <input type="submit" name="kakunin" value="確認"> </form>

関連するQ&A

専門家に質問してみよう