• ベストアンサー

送信→「OK?」→戻るorすすむ

初歩的なコードなのかもしれませんが、サンプルを見つけられなかったので質問させてください。 #やりたいこと 送信ボタン→「まちがいない?」のalertで「YES」「戻る」の2つ表示。 「YES」でそのまま送信。「戻る」で送信ボタンのあるページに戻る。

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

  • ベストアンサー
noname#45976
noname#45976
回答No.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>

s-holmes
質問者

お礼

回答ありがとうございました。 「切り貼りコピー」の修業中のため、100%わかったとは言えないのですが、とりあえず使える状態にはなりました。活用させていただきます。

その他の回答 (1)

  • 387
  • ベストアンサー率66% (40/60)
回答No.1

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="送信">

s-holmes
質問者

補足

ご回答ありがとうございました。 もしよければ助言いただけないでしょうか。 このままシンプルなページへの組み込みではできたのですが、他のコードなども書いてあるページに組み込んだらうまくalertが出てくれません。 #関数名は重複していません。 #formの名称が form name="main" となっているのが関連? #他の関数で form name="main" ・・・ onSubmit="return submitCheck()" と使っているのが原因?

関連するQ&A

  • CGIメールフォーム送信アラートについて

    よくCGIのメールフォームのサンプルの動作を試したりするのですが中には 送信ボタンをクリックすると「サンプルです。」や「サンプルのため送信できません。」 などのアラート表示されますがJava Script だと思うのですがCGIに同じ仕組みを取り入れるには どうすればいいでしょうか? 詳しい方教えて下さい。 参考になりそうなURLでも よろしくお願いします。

    • ベストアンサー
    • CGI
  • submitボタンのアラートを閉じても送信されてしまう

    初歩的な質問で恐縮です。 PHPでメールフォームを作っています。 submitを押した時に「送信してよろしいですか?」というアラートを出しているのですが、このアラートを閉じても(右上の「×」を押しても)送信されてしまいます。 ユーザーがやっぱり送信をやめたくても、submitを押してしまったら回避できないという状況です。 運用が迫っているため急ぎですが、ご教授いただけないでしょうか。 ボタンのソースはこちらです。 なお、<form>にonSubmitで記述した場合も同じでした。 <input type="submit" onClick="javascript:alert('こちらの内容で送信します。よろしいですか?')" value=" 送 信 "> ちなみに、内容チェックは送信されてから行っていますので、ここでは単純にアラートを出すだけです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのチャットを作成しています。

    phpのチャットを作成しています。 メッセージを投稿したら<meta http-equiv=refresh content=$refresh;URL=$PHP_SELF>にてリフレッシュをしています。 ここでご質問なのですが、 「サンプル1」というメッセージを投稿した直後にF5やブラウザの更新ボタンを押すと「このページを再表示するには、以前送信した情報を再送信する必要があります。」とういうアラートが表示され、再試行をクリックすると「サンプル1」が再度投稿されてしまいます。 キャンセルをクリックすると再投稿はされません。 同じく自動でリフレッシュをした場合も再投稿はされません。 これを再投稿させないようにするにはどのようなコードを書いたらよろしいでしょうか? お分かりのかたがいらっしゃいましたらご教授お願いします。

    • ベストアンサー
    • PHP
  • PHPのページング機能で、実際のページ数以上の数字を入力した時にエラー文をポップアップ表示させたい。

    PHPでページング機能を作ることが出来たのですが、 テキスト・タイプのフォームを下記のようにすると、 <input type="text" size="5" name="page" value=""> フィールドの中に表示したいページの数字を入力して フォームを送信するとそのページへ移動するという仕組みで、 ここまでは問題なく出来たのですが、 実際のページ数以上の数字を入力した時に エラー文をポップアップ表示させたいのです。 例えば、実際1ページしかないのに、フィールドの中に2を入力して 送信すると、エラー文が出てくるという感じです。 送信ボタンにOnClickなどでJavaScriptを呼び出すようにし、 入力されたページ番号が適正かどうかのチェックを行い、 適正であればそのまま送信処理、不正であればアラートを出す という仕組みなのは大体分かりますが、 余りJavaScriptに詳しくないので、 どんなコードを作成すれば良いのか分かりません。 何方か、サンプルコードなど教えて頂けたら大変助かります。 お手数をおかけしますが、どうぞ宜しく御願いします。

  • メールフォーム:「必須項目」も「送信完了」画面もどちらも設定したい

    JavaScript初心者です。よろしくお願い致します。 JavaScriptを使用してメールフォームを作成しています。 「送信」ボタンを押した後、必須項目確認はJavaScriptで作成できました。 「送信」ボタンを押した後、「送信完了」画面(別ページに飛ぶ設定)もJavaScriptで作成できました。 しかし【どちらの動作も一緒に設定】しようとすると上手く動いてくれません。 FORMのonSubmit設定+「送信」ボタン自体に「送信完了」のアラート表示する方法も試してみたのですが「送信完了」アラートが先にでてしまったり…。 「送信完了」の方法は別ページリンクでもアラートでもかまいません。 必須項目+最後に「送信」を押して、送信された後の何かリアクションを入れる方法を探しています。 教えて!Gooも初心者で何か失礼がありましたら申し訳ありません!どうかよろしくお願い致します。

  • 外字のチェック

    アンケートのCGIを作製しています。 それで、送信のボタンを押したときに、 入力欄に外字及び半角カナが入っていたらエラーのalertを出すといったものをするにはどうすればよいでしょうか?(どうするのがスマートでしょうか?) サンプル等教えていただけるとありがたいです。 なお、 ・未入力の場合alertあげる方法は実装しています。 ・画面の文字コードはSJISです。

  • if文の挙動が変です。何が悪いのでしょうか?

    こんにちは,よろしくお願いします。次のような関数を作って,条件に当てはまれば,formElemを送信するコードを書いたところ,条件を満たしていないのにもかかわらず,送信されてしまいます。それはどこが悪いのでしょうか。教えてください。 もう少し詳しく言うと,この関数は,p1とg1が変更されたとき(onchngeで)に呼び出されるようになっています。 このとき,p1が先に変更され(条件1)を満たしtrueになり,その後で,g1が変更され(条件2)がtrueになったときは,正常に機能します。alert("yes-submit");も表示され,formの送信も実行されます。 しかし,この逆で,g1が先に変更され(条件2)を満たしtrueになった時に,formが送信されてしまうのです。(条件1)が満たされていないのにもかかわらずです。気づかないうちに,条件を満たしていることもあるのかと思って,alert("yes-submit");を追加しました。しかし,そのalert("yes-submit");は表示されません。つまり,最後のif文がyesの時に実行されるブロックを通過していないのにもかかわらず,formの送信のみが行われてしまうのです。(true)&&(false)でyesにはなりませんよね。これって,変ですよね。いったいなぜ,このような挙動を示すのでしょうか?お願いします。教えてください。 function SchlSlct(){ var formElem = document.getElementById("form1"); if(document.getElementById("p1").selectedIndex > 0){ alert("p-yes"); }else{ alert("p-no"); } //以上(条件1) if(document.getElementById("g1").value != ""){ alert("g-yes"); }else{ alert("g-no"); } //以上(条件2) if((document.getElementById("p1").selectedIndex > 0) && (document.getElementById("g1").value != "")){ alert("yes-submit"); formElem.submit(); } //以上((条件1)&&(条件2)) }

  • テキスト形式のメールが送信できません

    あるHP上で、問い合わせ「〒」ボタンをCRするとメール画面が現れ、問い合わせ内容を記入したのですが「送信」ボタンがなく送信できません。送信する方法を教えて ください。但し「テキスト形式」の表示があります 初歩的な質問ですが、よろしく!

  • メール送信されたurlを取得したい

    HTML_QuickFormを使ってフォームをつくる予定なのですが どこのページから送信されたのかを取得したいと思っているのですが どのような方法がありますでしょうか? 具体的には http://example.com/sample1.htmlと http://example.com/sample2.htmlと http://example.com/sample3.htmlに フォームがありどこのページから送信されたかを取得したいと いうことです。 また、postでメール送信するのですがメール送信時に取得した urlを表示させる場合どのようにすればいいのでしょうか?

    • 締切済み
    • PHP
  • OUTLOOK送信前に送信トレイに入れて確認をしてから送信したいのですが、どうしたらいいのでしょうか

    初歩的な質問で申し訳ありません。 OEではなくOUTLOOK2000を使用しているのですが、 送信ボタンを押すと、すぐに送信される設定になっています。 送信前に内容確認をしてから送信したいので、 送信ボタン押下→送信トレイ→内容確認→送信トレイ内で再度送信ボタン押下→送信 というような設定に変えたいのですが、どのようにすればよいのでしょうか。 OEだとオプションで設定を変えれば良いのはわかるのですが。。。 お手数ですが、ご教示お願い致します。

専門家に質問してみよう