2016-10-04 14 views
1

私は小さな接触フォームを持っています。メッセージの送信は機能していますが、送信後にフォームはテキストのままです。私は検索し、成功なしでそれをクリアするいくつかのコードを試してみました。ajaxを送信した後にフォームをクリアするには?

// JavaScript Document 
$('#contact-form').submit(function (e) { 
"use strict"; 
e.preventDefault(); 
$.ajax({ 
    type: "POST", 
    url: "contactform.php", 
    data: $(this).serialize(), //get form values 
    sucess: function (data) { 
     document.getElementById("contact-form").reset(); 
    } 

}).done(function (data) { 
    console.log(data); // will contain success or invalid 
}); 
}); 

そして私は、私は何かが欠けてる感じを持っているが、まだ何も知らない

<?php 
$firstname = $_POST["firstname"]; 
$lastname = $_POST["lastname"]; 
$email = $_POST["email"]; 
$phone = $_POST["phone"]; 
$message = $_POST["message"]; 

$EmailTo = "[email protected]"; 
$Subject = "New Message Received"; 

// prepare email body text 
$email_content .= "Firstname: $firstname\n"; 
$email_content .= "Lastname: $lastname\n"; 
$email_content .= "Email: $email\n"; 
$email_content .= "Phone: $phone\n"; 
$email_content .= "Message: $message"; 

// send email 
$success = mail($EmailTo, $Subject, $email_content, "From:".$email); 

// redirect to success page 
if ($success){ 

    echo "success"; 

} else { 
    echo "invalid"; 
} 
?> 

とHTML

<form id="contact-form" method="post" action="contactform.php" role="form"> 
    <div class="messages"></div> 
    <div class="form-group"> 
    <input id="form_name" type="text" name="firstname" class="form-control" placeholder="Please enter your firstname *" required="required" data-error="Firstname is required."> 
    <div class="help-block with-errors"></div> 
    </div> 
    <div class="form-group"> 
    <input id="form_lastname" type="text" name="lastname" class="form-control" placeholder="Please enter your lastname *" required="required" data-error="Lastname is required."> 
    <div class="help-block with-errors"></div> 
    </div> 
    <div class="form-group"> 
    <input id="form_email" type="email" name="email" class="form-control" placeholder="Please enter your email *" required="required" data-error="Valid email is required."> 
    <div class="help-block with-errors"></div> 
    </div> 
    <div class="form-group"> 
    <input id="form_phone" type="tel" name="phone" class="form-control" placeholder="Please enter your phone"> 
    <div class="help-block with-errors"></div> 
    </div> 
    <div class="form-group"> 
    <textarea id="form_message" name="message" class="form-control" placeholder="Message for us *" rows="4" required data-error="Please,leave us a message."></textarea> 
    <div class="help-block with-errors"></div> 
    </div> 
    <button type="submit" class="btn" value="Send message">Send Message</button> 
    <p class="text-muted"><strong>*</strong> These fields are required.</p> 
</form> 

いくつかのphp。

+0

がリセットボタンは、<ボタンタイプ=値=「リセット」を「リセット」>をリセット..ですが、フォームが正常かどうか – mohade

答えて

3

これは、jQueryを使用して達成することができます。

$('#contact-form')[0].reset(); 

OR

$(this).closest('form').find("input[type=text], textarea").val(""); 
-1

preventDefaultを削除してみます。ページがリロードされると、フォームは空になります。それは、フォーム入力の値を手動で空に設定する必要があります。

ajaxを使用してフォームを送信し、フォームが直接phpファイルに投稿されないようにする特別な理由はありますか?

+0

データを送信され、これは接触です私がすでに読んでいるものからこのフォームを使用して、リロードページをリクエストしないでください。 – maw2be

関連する問題