- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptを勉強中でメールフォームを作っているのですが、)
JavaScriptを使ったメールフォーム作成時の警告メッセージの表示方法
このQ&Aのポイント
- JavaScriptを使用してメールフォーム作成中の問題について質問があります。
- メールフォームの送信ボタンを押す際に、名前が空白の場合に警告メッセージを表示するために、JavaScriptの関数を使用しています。
- 警告メッセージは表示されるのですが、処理が続行されてしまい、メールが送信されてしまいます。なぜreturnを使用しなければならないのか、理解できません。初心者ですので、教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
処理を継続する、停止するには、return true / return false が必要です。 true や false はただの値です。しかし、returnは命令です。 check()内にあるreturn命令は、onsubmitの中に値を届けるだけが仕事です。 onsubmit内にあるrerurn命令によって、onsubmitの処理に対して命令を伝えています。そこが、trueやfalseだけでは、それをどういう命令で処理したいのか判らないのです。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
何年前の参考書かわかりませんが、いまどきformのactionにmailtoはないと思いますが・・・ さて、onsubmitにreturn を付ける理由は、そういう仕組みになっているからとしか 言いようがありません。 onXXXの戻り値によってその実行を制御する仕組みです。 もうすこし噛み砕いていうと、たとえば常に実行をとめたいなら <form onsubmit="return false">とすることですが、質問者さんの考え方だと <form onsubmit="false">となってしまいます。 これでは、どのタイミングで戻り値をうけていいかわからないですよね。 >check()の中ですでにfalseかtrueの値が出ている これはたんにcheck()関数が戻り値を返しているだけにすぎません。 formのonsubmitが戻り値を返さないと意味がありません。