• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:送信確認メッセージ及びenterで送信させない)

メールフォームの送信制御方法と確認メッセージの表示方法

このQ&Aのポイント
  • メールフォームの送信制御方法と確認メッセージの表示方法について説明します。
  • enterキーでの送信を制御するために、フォームのonsubmitイベントを利用します。
  • 送信ボタンをクリックした際に確認メッセージを表示するために、window.confirmを使います。

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

んー onSubmit、onClickがどういう意味なのかを理解していないのね だからこんな頓珍漢なコードになるんだわ それはいずれ勉強してもらうとして そうね 最初に答えを書いちゃいましょうか <script type="text/javascript"> <!-- function check(){ if(window.confirm('送信してよろしいですか?')){ // 確認ダイアログを表示 document.forms[0].submit(); // 「OK」時は送信を実行 } else{ // 「キャンセル」時の処理 window.alert('キャンセルされました'); // 警告ダイアログを表示 // 送信を中止 } } // --> </script> <form method="POST" action="example.cgi"> <input type="button" value="注文" onclick="return check()" /> <input type="reset" value="取消" /> </form> どうしてこうなるのかは頑張って勉強してみてね

sabarcab
質問者

お礼

askaaska 様 おはようございます。 度々のアドバイス有難うございます。 最初にいただいた そのJavaScriptの中で確認ダイアログで「OK」されたときにformをsubmitすればいい という部分が出来ていなく、 onSubmit="return check()"とonclick="return check()"を2重に記載していることが問題なのですね。 今日仕事から帰ったら自分のコードとアドバイス頂きましたコードをにらめっこしながら勉強します。 まだ自分で理解していないので完全に解決とはいきませんが、この質問を放置しておくのも無責任ですので一旦締め切ることにします。 今日、明日で勉強してまだ出来ないようでしたら新たに出来ない部分で質問をしてみたいと思います。(出来るだけそのようなことがないように勉強します) 色々と有難うございました。

その他の回答 (2)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

実際にどういう実装しているのかわからないので アドバイスのしようがないわ

sabarcab
質問者

お礼

askaaska 様 度々のコメント有難うございます。 現在試行錯誤でたどり着いたのが <script type="text/javascript"> <!-- function check(){ if(window.confirm('送信してよろしいですか?')){ // 確認ダイアログを表示 return true; // 「OK」時は送信を実行 } else{ // 「キャンセル」時の処理 window.alert('キャンセルされました'); // 警告ダイアログを表示 return false; // 送信を中止 } } // --> </script> <form method="POST" action="example.cgi" onSubmit="return check()"> <input type="button" value="注文" onclick="return check()" /> <input type="reset" value="取消" /> です。 最初の質問に記載したものを組み合わせてみただけなので的外れかもしれませんが現状はここまでしかたどり着けません。 すみませんが現状の問題点をご指摘ください。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

それぞれが なぜそういう動きになるのかを理解すれば おのずと答えは見えてくるものだけど 1.がEnterで送信されない理由  送信ボタンがtype=submitのとき、Enterで送信されてしまう  だから送信ボタンをtype=buttonにして、ボタンクリックイベントでformをsubmitするようにした 2.送信前に確認を表示できる理由  formがsubmitされるタイミングで呼び出されるイベントonSubmitで  確認ダイアログを出すJavaScriptをよんでいる じゃあどうすればいいか  送信ボタンをtype=buttonにして、ボタンクリックイベントで  確認ダイアログを出すJavaScriptを呼び  そのJavaScriptの中で確認ダイアログで「OK」されたときに  formをsubmitすればいい それだけ

sabarcab
質問者

お礼

askaaska 様 早速のご教授有難うございます。 自分なりに色々試してみました。 <form method="POST" action="example.cgi" onSubmit="return check()"> <input type="button" value="送信する" onclick="return check()" /> クリックで確認ログがでますが、送信が出来ないところで躓いてます。 多分ここがJavaScriptの中でformをsubmitするという事でしょうか? JavaScript form submitの組み合わせで検索したサイトを読んでも基礎がない為理解できませんでした。 もう少し検索して勉強してみます。 有難うございました。

sabarcab
質問者

補足

未だ解決できておりません。 どなたかお知恵をお貸しください。

関連するQ&A

専門家に質問してみよう