- ベストアンサー
送信→「OK?」→戻るorすすむ
初歩的なコードなのかもしれませんが、サンプルを見つけられなかったので質問させてください。 #やりたいこと 送信ボタン→「まちがいない?」のalertで「YES」「戻る」の2つ表示。 「YES」でそのまま送信。「戻る」で送信ボタンのあるページに戻る。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
送信ボタンのイベントは、送信ボタンが画像だったり、その上マウスオーバーで画像チェンジとかやってたり、またはフォーム内容のチェックなどやってる場合、それぞれで動きが変わってきます。 やりたいことの詳細がわかりませんが、とりあえず ○送信ボタンは、普通のボタン ○入力項目のチェックをしてから送信したい(例では半角カンマチェック) くらいのことであれば、下記の記述でなんとかなると思います。 <script language="JavaScript"> function ErrChk(){ if (DataCheck(document.formname.onamae.value) == false){ alert("お名前に半角カンマ「,」は入力できません。"); document.formname.onamae.focus(); return false; } return true; } function DataCheck(InputValue){ var i,ch; for (i=0; i < InputValue.length; i++){ ch = InputValue.substring(i,i+1); if (ch != "," ) { continue; } else { return false; } } return true; } function Jikkou(){ if (ErrChk()){ if (confirm("まちがいない?")){ document.formname.submit(); } } } </script> <form action="./xxxx.cgi" method="post" name="formname"> お名前:<input name="onamae" size="15" maxlength="20" type="text" value=""> <input name="SOUSIN" onclick="Jikkou()" type="button" value="送信"> </form>
その他の回答 (1)
- 387
- ベストアンサー率66% (40/60)
alert はメッセージの確認しか出来ませんので、confirm を使ってください。 但し、ボタンの文字列はブラウザ(OS)に依存します( IE では「OK」「キャンセル」)。 OK側のボタンが押されれば true(真)、キャンセル側のボタンが押されれば false(偽)が返却されます。 そして、送信をキャンセルするには return false で onClick などのイベントを キャンセルします。 function send_check() { bConfirm = confirm( "まちがいない?" ) ; return bConfirm ; } <INPUT type="submit" onClick="if ( !send_check() ) return false" value="送信">
補足
ご回答ありがとうございました。 もしよければ助言いただけないでしょうか。 このままシンプルなページへの組み込みではできたのですが、他のコードなども書いてあるページに組み込んだらうまくalertが出てくれません。 #関数名は重複していません。 #formの名称が form name="main" となっているのが関連? #他の関数で form name="main" ・・・ onSubmit="return submitCheck()" と使っているのが原因?
お礼
回答ありがとうございました。 「切り貼りコピー」の修業中のため、100%わかったとは言えないのですが、とりあえず使える状態にはなりました。活用させていただきます。