ウェブページの最後にフィードバック用のフォームがあります。このフォームは、ユーザーが入力して送信すると、自分のメールアドレスに送信されます。電子メールは送信されますが、ブラウザはcfmファイルに送信されます。フォームを非表示にして、ありがとうメッセージに置き換えられるようにしたいと思います。これは可能ですか?そうでない場合は、フォームがあったWebページにとどまるのが理想的です。
みんな、ありがとう。
ウェブページの最後にフィードバック用のフォームがあります。このフォームは、ユーザーが入力して送信すると、自分のメールアドレスに送信されます。電子メールは送信されますが、ブラウザはcfmファイルに送信されます。フォームを非表示にして、ありがとうメッセージに置き換えられるようにしたいと思います。これは可能ですか?そうでない場合は、フォームがあったWebページにとどまるのが理想的です。
みんな、ありがとう。
どこにでもユーザーを送ることができます。電子メールが送信された後にcflocationを使用してどこかに送信するか、同じページに保持してお礼のメッセージを表示するだけです。
一般に、データの送信後、ユーザーが更新を押した場合に2回目の送信を回避するために、リダイレクトを使用することをお勧めします。
cflocationタグを使用すると、これを簡単に行うことができます。
データを「処理中の」cfmファイル(または、より適切にはcfc)に投稿してから、cflocationタグを使用してありがとうページに移動することをお勧めします。
多くの場合、フォームは同じページと、後続のifステートメントをトリップする非表示のフォームフィールドに送信されます。form.cfmページにいるとしましょう。このようなフォームを送信しますか?
<form action="form.cfm">
<input type="hidden" name="ThisFormWasSubmitted">
// form stuff
</form>
次のように、フォームを表示するか、フォームを送信していただきありがとうございますを表示するifステートメントをフォームの上に置くことができます。
<cfif structKeyExists(FORM, "ThisFormWasSubmitted")>
// process the form
// show thank you message
<cfelse>
// show the form
</cfif>
これには確かに数十のバリエーションがあります。