-1

サイトに PHP コンタクト フォームを作成しましたが、これは、ユーザーに thank-you.php ページに送信される成功またはエラー メッセージを表示する以外はうまく機能します。それが私が設定した方法ですが、ユーザーに送信してもらい、フォームが消えてありがとうと言う必要があります! フォームの代わりに。

フォームの HTML は次のとおりです。

<form class="form-foot" action="thank-you.php" method="post">
<fieldset>
<legend>Footer contact form</legend>
<div class="field">
<label for="name">Your name: </label>
<input name="name" id="name" type="text" placeholder="Name" class="required field-name" required>
</div>
<div class="field">
<label for="email">Your email: </label>
<input name="email" id="email" type="email" placeholder="Email address" class="required  field-email" required>
</div>
<div class="field">
<label for="message">Message: </label>
<textarea name="message" id="message" cols="30" rows="8" class="required field-message" placeholder="Your message" required></textarea>
</div>
<div class="field-submit">
<input class="sendbutton" type="submit"/>
</div>
</fieldset>
</form>

そして、これがthank-you.phpページの私のPHPです。

<?php $name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$recipient = "myemail@mysite.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>

送信時にフォームを非表示にし、thank-you.php に移動したりページを更新したりせずに、ありがとう成功メッセージをエコーするにはどうすればよいですか。

ありがとう

4

2 に答える 2

0

ajax を使用して、javascript から thank-you.php ファイルにデータを投稿できます。フォームの action 属性の代わりに、送信時に関数を呼び出します。関数は以下の形式を持つことができます

var url = "thank-you.php";
var data = $('#your-form-id').serialize();


$.ajax({
        type: "post",
        url: url,
        data: data,
        success: function(msg) {

        }    
   });

お礼のページからメッセージを取得したら、それを利用して、フォームを含む html を割り当てて、フォームを「ありがとう」に置き換えることができます。

于 2013-06-04T09:43:50.887 に答える