アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>
-------
テキストエリアのアラートチェックは出来ない状態です。

すべてにチェックまたは、テキスト入力がされていないと送信できないようにしたいのです。

どうしたらよいでしょうか?

A 回答 (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>

この回答への補足

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

↑はい。すべてにチェックという感じです。
submitから
csvへの投入になり、各セルに振り分けを作成しております。

補足日時:2009/10/09 16:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!