• 締切済み

javascriptでのアラート表示

javascriptで大変困っております。 ラジオボタン・テキストエリアにまたがったチェックアラートをだしたいのですが、うまくいきません。 <script> function form_check(f) { if (f.Q1.value == "") { alert("・未記入です!"); return false; } ・ ・ ・ if (f.Q6.value == "") { alert("・名前が未記入です!"); return false; } else return true; } function reset_conf() { if (confirm("フォーム内容をリセットします!\n\nよろしいですか?")) return true; else return false; } </script> -------- <FORM ACTION="hogehoge.cgi" METHOD="POST" onSubmit="return form_check(this)"> 教育:<INPUT TYPE="radio" NAME="Q1" VALUE="OK"> テスト:<INPUT TYPE="radio" NAME="Q2" VALUE="OK">  アンケート:<INPUT TYPE="radio" NAME="Q3" VALUE="OK"> AAA:<input name="Q4" type="text" /> BBB:<input name="Q5" type="text" /> CCC:<input name="Q6" type="text" /> <INPUT TYPE="hidden" NAME="number" VALUE="6"> <INPUT TYPE="submit" NAME="answer" VALUE="送信する"> <INPUT TYPE="reset" NAME="reset" VALUE="リセット"> </FORM> </form> ------- テキストエリアのアラートチェックは出来ない状態です。 すべてにチェックまたは、テキスト入力がされていないと送信できないようにしたいのです。 どうしたらよいでしょうか?

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

テキストボックスが未記入かどうかのチェックはわかるけれど、ラジオボタンはどうしたいのでしょうか? ラジオボタンがそれぞれ独立してしまっているので、一度押すとキャンセルはできないようになっちゃうはずだけど? 単独でオン・オフする場合は、チェックボックスを使うべきでは? …というか、必ずチェックされなければならないものを、ユーザに全部チェックさせるのかなぁ? (チェックがなければ受付ないのだから、「同意する/しない」みたいな1個ですみそう) なお、ラジオボタンの場合はvalueではなくてcheckedで調べましょう。 (valueだとタグ内に記してある"OK"が返ってくるだけ) やりたいことがわかるHTMLを提示すれば、回答しやすいと思うのですが・・・ まぁ、とりあえずそのままで、全項目チェック(or入力)されていなければfalseを返したいというのであれば、 (参考までに) <html> <head> <script type="text/javascript"> function form_check(f) { var ttl = '教育,テスト,アンケート,AAA,BBB,CCC'.split(','); var i, mes = '', elm = f.elements; for (i=0; i<ttl.length; i++) if ((i<3 && !elm[i].checked)||(i>2 && elm[i].value == '')) { mes += '\n' + ttl[i] + 'が未入力です'; } if (mes.length) { alert(mes.substring(1)); return false; } else { return true; } } </script> </head> <body> <form action="#" method="POST" onsubmit="return form_check(this);"> 教育:<input type="radio" name="Q1" value="OK"> テスト:<input type="radio" name="Q2" value="OK">  アンケート:<input type="radio" name="Q3" value="OK"> AAA:<input name="Q4" type="text"> BBB:<input name="Q5" type="text"> CCC:<input name="Q6" type="text"> <input type="hidden" name="number" value="6"> <input type="submit" name="answer" value="送信する"> <input type="reset" name="reset" value="リセット"> </form> </body> </html>

yyyooo1029
質問者

補足

ラジオボタンがそれぞれ独立してしまっているので、一度押すとキャンセルはできないようになっちゃうはずだけど? 単独でオン・オフする場合は、チェックボックスを使うべきでは? …というか、必ずチェックされなければならないものを、ユーザに全部チェックさせるのかなぁ? ↑はい。すべてにチェックという感じです。 submitから csvへの投入になり、各セルに振り分けを作成しております。

関連するQ&A

専門家に質問してみよう