提交失败后刷新jquery表单


Refresh jquery form after submission not working

对于我的一个网站,我正在设计一个HTML表单与jquery和PHP通过电子邮件发送数据。Jquery检查空/空白字段,并为每个字段发送警报。一旦表单提交了完整的数据,它发送成功警报并通过PHP发送输入数据。
到目前为止,代码运行良好。

数据提交后&显示成功警报,我希望html表单刷新/重新加载。但是这种情况不会发生,因为表单保留了预先输入的数据。
请帮帮我吧。我的Jquery &HTML格式如下:

JQUERY-CODE (with google lib 2.2)

JQUERY代码

 $(document).ready(function() {
      $("#submit").click(function() {
        var name = $("#name").val();
        var email = $("#email").val();
        var message = $("#message").val();
        $("#returnmessage").empty(); // To empty previous error/success message.
        // Checking for blank fields.
        if (name == '') {
          alert(" Please fill your name");
        } else if (email == '') {
          alert("Please fill your email");
        } else if (message == '') {
          alert("Please Fill message");
        } else { alert("Your form submitted. We will contact you soon.");
          $.post("xxx.php", { // To php file.
            name: name,
            email: email,
            message: message
          }, function(data) {
            $("#returnmessage").append(data);
            if (data == "Your form submitted. We will contact you soon.") {
              $("#form")[0].reset(); // To reset form fields on success.
            }
          });
        }
      });
    });

HTML表单代码:

<form id="form" method="post" action="  ">
  <h4>FEED-BACK FORM</h4>
  <p id="returnmessage"></p>
  <label>Name:  </label>
  <input type="text" id="name" /><br>
  <label>Email:  </label>
  <input type="text" id="email" /><br>
  <label>Message:  </label>
  <input type="text" id="message" /><br>
  <input type="button" id="submit" value="Submit"/>
</form>

检查js

 if (data == "Your form submitted. We will contact you soon.") {
        document.getElementById('form').reset(); // To reset form fields on success.

}

 if (data == "Your form submitted. We will contact you soon.") {       
    $('#form').find("input[type=text]").val(""); // To reset form fields on success.
 }

您可以通过将其值设置为""来清除输入字段

 $("#name").val("");
$("#email").val("");
$("#message").val("");

问题很可能出在您的if语句上。行$("#form")[0].reset();是正确的,将其移动到if语句上方,看看它是否工作。