Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用AJAX提交表单后如何重置验证?_Jquery_Ajax_Html_Forms - Fatal编程技术网

Jquery 使用AJAX提交表单后如何重置验证?

Jquery 使用AJAX提交表单后如何重置验证?,jquery,ajax,html,forms,Jquery,Ajax,Html,Forms,我有一个用html5验证的表单,然后用AJAX提交,然后重置输入字段,它就可以工作了 我的问题是,在有效提交后,消息被发送,输入被清除,但html5验证仍然将我的空字段概括为不正确的字段 HTML: 您需要停止默认的提交行为 $('#submit-btn').click(function(e){ e.preventDefault(); // ... } 或者您可以使用type=“button”而不是type=“submit”我强烈建议您使用submit事件 如果您使用的

我有一个用html5验证的表单,然后用AJAX提交,然后重置输入字段,它就可以工作了

我的问题是,在有效提交后,消息被发送,输入被清除,但html5验证仍然将我的空字段概括为不正确的字段

HTML:


您需要停止默认的提交行为

 $('#submit-btn').click(function(e){
     e.preventDefault();
     // ...
 }

或者您可以使用
type=“button”
而不是
type=“submit”

我强烈建议您使用submit事件

如果您使用的是新的HTML5验证(例如必需的),那么.reset()应该可以工作

它对我有用

如果没有,请尝试聚焦并模糊每个字段,以告诉验证器字段是否正常


如果您使用,您需要执行一个

,这就是返回false所做的,它完全禁用了html5验证。威尔做了这个,但不幸的是没有起作用。成功提交表单并清除字段后,表单字段仍以红色勾勒。感谢您的好意和重建我的问题。我的站点的工作方式与您的演示JSFIDLE完全相同,在提交消息后,字段显示为错误字段。顺便说一下,如果这太复杂了,我可以考虑使用验证插件:
 $('#submit-btn').click(function(){
     if($("#cform")[0].checkValidity()) {

         $.post("mailer.php", $("#cform").serialize(),  function(response) {
             $('#success').html(response);
             $("#cform")[0].reset();
         });
         return false;

     } else console.log("invalid form");
 });
 $('#submit-btn').click(function(e){
     e.preventDefault();
     // ...
 }
$(function() {
  $('#cform').on("submit",function(e){
    e.preventDefault();  
    if($("#cform")[0].checkValidity()) {
      $.post("/echo/json/", $("#cform").serialize(),function(response) {
        $('#success').html(response);
        $("#cform")[0].reset();
      });
     }
     else window.console &&  console.log("invalid form");
   });
 });