• ベストアンサー

送信ボタンを押した際に、チェック項目の数をカウント

<input type="checkbox" name="q21" value="問2の項目1"> <input type="checkbox" name="q22" value="問2の項目2"> <input type="checkbox" name="q23" value="問2の項目3"> <input type="checkbox" name="q24" value="問2の項目4"> チェックボックスのNAMEやVALUEが上記のような場合、 送信時に問2のチェックされている数が3つ未満なら「ダイアログで選択数が足りない」という表示を出したいのですが、googleでさがしてみてもこういうパターンのものが見つかりませんでした。 良い方法があれば、アドバイスお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

例えば、こんな感じでやればいいと思います。 -------------------------------------------------- <script type="text/javascript"> <!-- function check(){ var undefined; var count=0; for(var i=1;undefined != document.Q["q2"+i];i++){ if(document.Q["q2"+i].checked) count++; } if(count<3){ alert("チェックは3つ以上付けてください"); return false; } else return true; } //--> </script> … <form name="Q" action="XXX.CGI" onsubmit="return check()"> <input type="checkbox" name="q21" value="問2の項目1"> <input type="checkbox" name="q22" value="問2の項目2"> <input type="checkbox" name="q23" value="問2の項目3"> <input type="checkbox" name="q24" value="問2の項目4"> <input type="submit" value="送信"> </form>

TMEspion
質問者

お礼

回答ありがとうございます。 大変参考になりました。

その他の回答 (1)

  • nbys_goo
  • ベストアンサー率16% (53/326)
回答No.1

送信時にjavascriptでチェックしてはどうでしょう。 q21~q24のチェックされてるものをカウントして3つ未満ならエラーにするようにすれば、いいと思います。

TMEspion
質問者

補足

アドバイスありがとうございます。 送信ボタンを押す ↓ チェックボックスのチェック数を数える ↓ もし(チェック数<3)の場合はダイアログでエラー表示 ↓ 送信 って感じなんでしょうけどif文の方はわかるんですが、 「q21~q24」のような異なったNAMEのチェック数を数える場合、どういったプログラム文になるのでしょうか?

関連するQ&A