• ベストアンサー

return falseが効かない

formで申し込みのステップ中に、selectで必須選択させる部分があり、値があれば、次に進むように考えています。 選択していない場合、アラート自体は表示しますが、ダイアログをOKすると、結局は次のページでsubmitしてしまいます。 本当は、止めたいのですが、、、。 気になる点としては、select部分を表示する場合としない場合があり、DBからの値によって、phpで表示しているくらいでしょうか。 javascriptを書く位置をいろいろ変えても結果はかわりません。 エラーもでません。 何か重大な間違いなどあるのでしょうか?。 <head> <script Language="JavaScript"> <!-- function check(){ var flag = 0; if(document.form.camp.options[document.form.camp.selectedIndex].value == ""){ flag = 1; } if(flag==1){ alert('選択されていません'); // 選択されていない document.form.camp.focus(); return false; // 送信を中止 } } // --> </script> </head> (~いろいろあって、、~) <form name="form" method="post" action="damy.php" onSubmit="check()"> <select name="camp" id="camp"> <option value="">--選択してください--</option> <option value="あ">あ</option> <option value="い">い</option> <option value="う">う</option> </select> (~いろいろあって、、~) <input type="submit" value="次に進む"> /form>

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

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

onSubmit="check()" を onSubmit="return check()" としてみてください

exzin
質問者

お礼

ありごとうございます。 解決してしまいました、、、。 みなさま、ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

それはactionが書かれてるからだよ。 チェックして進ませる場合はjavascript(この場合 function check())の中でサーバ側へ投げるべき。 後、関係ないけどダミーの綴りは「dummy」ね

exzin
質問者

お礼

すみません ご指摘ありがとうございます。 そういう書き方にすべきでした。 綴り、おはずかしい、、、。聞かぬが恥ですからこれもご指摘ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A