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

送信ボタンを押したときに、ラジオボタンが未チェックの場合に、アラートを出すように、
以下の内容でスクリプトを組んでいるのですが、チェックをしても アラートが出てしまいます。
あまりjavascript強くないので、自分では限界なので どなたか分かる方いらっしゃいましたらご指摘お願いします。


【HEAD内スクリプト】


function beforeSubmit(){

if(F1.NOUHIN[0].checked == false || F1.NOUHIN[1].checked == false || F1.NOUHIN[2].checked == false || F1.NOUHIN[3].checked == false || F1.NOUHIN[4].checked == false || F1.NOUHIN[5].checked == false){
 alert("ご希望の納品時間を選んでください");
 return false;
}
}


【BODY内ソース】
<form name=F1 action=mailto:****?subject=ORDER method=post encType=text/plain onSubmit="return beforeSubmit()" method="post" enctype="text/plain">


<input type="radio" name="NOUHIN" value="指定なし">指定なし
<input type="radio" name="NOUHIN" value="午前">午前
<input type="radio" name="NOUHIN" value="14~16時">午後2~4時
<input type="radio" name="NOUHIN" value="16~18時">午後4~6時
<input type="radio" name="NOUHIN" value="18~20時">午後6~8時
<input type="radio" name="NOUHIN" value="20~21時">午後8~9時

</form>

A 回答 (1件)

一つは、F1・・・となっているのが


正しくはdocument.F1ですね。
もう一つは「||」はオアなのでダメです
「&&」ですね。

通常は自分のformをthisというオブジェクトで
なげて、以下のようにします。

<script language=javascript>
function beforeSubmit(f){
for (var i=0;i<f.length;i++){
if(f[i].name=="NOUHIN" && f[i].checked==true) return true;
}
alert("ご希望の納品時間を選んでください");
return false;
}

</script>

<form name="F1" action="mailto:hoge@hogehoge.com" method="post" onSubmit="return beforeSubmit(this)">
<input type="radio" name="NOUHIN" value="指定なし">指定なし
<input type="radio" name="NOUHIN" value="午前">午前
<input type="radio" name="NOUHIN" value="14~16時">午後2~4時
<input type="radio" name="NOUHIN" value="16~18時">午後4~6時
<input type="radio" name="NOUHIN" value="18~20時">午後6~8時
<input type="radio" name="NOUHIN" value="20~21時">午後8~9時
<input type="submit" value="実行">
</form>
    • good
    • 0

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