2016-10-04 4 views
1

연락처가 작습니다. 보내는 메시지가 작동하지만 양식은 제출 후 텍스트로 유지됩니다. 나는 성공을 거두어 그것을 지우기 위해 몇 가지 코드를 검색하고 시도했다.아약스 제출 후 양식을 정리하는 방법?

// 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

관련 문제