質問
http://www.happyholidaylites.com/contact.html <に非常に基本的なフォームがありますそしてそれはうまく機能しています。フォームを送信すると、ユーザーはindex.htmlに移動し、フォームが送信されたというメッセージは表示されません。 「フォームが送信されました」というアラートを開始しようとしています。 xボタン付き。私のコードは次のようになります:
<form method="post" id="myForm" action="dynaform.php">
<input type='hidden' name='rec_mailto' value='JBIRD1111@gmail.com'>
<input type='hidden' name='rec_subject' value='New Contact Form'>
<input type='hidden' name='rec_thanks' value='index.html'>
などなど.....
最後の行は、送信ボタンが押された後にフォームに何をすべきかを伝えるものですが、ブラウザにインデックスを指定させたくはなく、成功メッセージを表示するjavascriptポップアップが必要です。アイデアはありますか?
解決
なぜ単純なonSubmitではないのですか?
<form method="post" id="myForm" action="dynaform.php" onSubmit="alert('Thank you for your feedback.');" >
他のヒント
正直に言うと、ユーザーが更新時にページを再送信するのを避けるために、別のページにリダイレクトする方が適切です。 Post / Redirect / Getパターンをご覧ください。
ポップアップは、ウェブサイト上で非常に迷惑です。 &quot; thank-you.html&quot;というページを作成する必要があります。サイトナビゲーションオプションにアクセスできる送信に成功した場合にユーザーをリダイレクトしたり、数秒後にフォームページにリダイレクトしたりできます。
index.htmlにリダイレクトする代わりに、thanks.htmlにリダイレクトします。誰もがポップアップを嫌うので、ユーザーはあなたに感謝します!
PHPスクリプトのように聞こえますが、入力を処理し、ブラウザを rec_thanks
フィールドの値にリダイレクトすることで、フォーム送信を処理します。
フォームタグに onsubmit =&quot; YourJavaScriptFunction()&quot;
などを追加して、実際にフォームを送信する前にクライアント側の動作を追加できます。その関数内で検証を実行し、 alert( 'Thank You!')
などを使用できます。