Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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
Javascript 尝试调用event.preventDefault()后表单仍提交_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 尝试调用event.preventDefault()后表单仍提交

Javascript 尝试调用event.preventDefault()后表单仍提交,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,嗨,我正试图通过ajax发布我的表单数据。 但我仍然希望使用默认验证并显示来自html表单的默认消息。因此,表单显示表单的默认错误消息,但当表单正确填充时,它会执行常规表单子mut,而不是执行preventDefault和myajax方法。为什么它不停止提交?我不明白,谁能帮我一下,那太好了 我的html表单: <form id="add_address"> <div class="form-group"> <input class="form-cont

嗨,我正试图通过ajax发布我的表单数据。 但我仍然希望使用默认验证并显示来自html表单的默认消息。因此,表单显示表单的默认错误消息,但当表单正确填充时,它会执行常规表单子mut,而不是执行preventDefault和myajax方法。为什么它不停止提交?我不明白,谁能帮我一下,那太好了

我的html表单:

<form id="add_address">
  <div class="form-group">
    <input class="form-control" type="text" name="address_address_name" required placeholder="Naam adres*" />
  </div>
  <div class="form-group">
    <input class="form-control" type="text" name="address_address" required placeholder="Straat + Nr*" />
  </div>
  <div class="form-group">
    <input class="form-control" type="text" name="address_zipcode" required placeholder="Postcode*" />
  </div>
  <div class="form-group">
    <input class="form-control" type="text" name="address_city" required placeholder="Plaats*" />
  </div>
  <div class="form-group">
    <input class="form-control" type="text" name="address_phone" placeholder="Telefoon" />
  </div>
  <div class="form-group">
    <input class="form-control" type="text" name="address_email" required placeholder="Email*" />
  </div>
  <button type="submit" class="btn btn-default right">Save</button>
</form>
我的解决方案:我现在使用这种方式,这种方式正在使用html表单的默认验证,并通过ajax进行自定义提交

$(document).on('submit', '#add_address', function(e){
    add_address($(this));
    e.preventDefault(); 
});
//或


尝试处理
submit
事件,而不是
单击
事件。或者在('submit',函数(e){e.preventDefault();})上更改
$('add#u address')请注意,您的代码正沦为--声明变量(例如
表单
)。这可能不是问题所在,但仔细想想,如果您在某个地方有一个带有
id=“form”
的元素,或者一个带有
name=“form”
的表单字段,…@diavolic:如果调用
preventDefault
,则无需这样做。
$(document).on('submit', '#add_address', function(e){
    add_address($(this));
    e.preventDefault(); 
});
    if( $(form)[0].checkValidity() != false){               
           add_address(form);
           event.preventDefault();
         }
    if( $(form)[0].checkValidity() != false){               
           add_address(form);
           return false;
         }