Javascript 阻止表单提交但保留表单验证

Javascript 阻止表单提交但保留表单验证,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,如何保留默认的HTML表单验证,同时禁止表单提交?我已尝试使用event.preventDefault()和return false。两者均成功阻止表单提交,但均未通过表单验证。我也试过,但即使这样也不行 有人能帮我吗?同时event.preventDefault()和返回false工作(如果用于表单提交)。HTML5验证仍然存在 jQuery(“表单”).submit(函数(e){ e、 预防默认值(); //或 //返回false; }); 我使用checkValidity()和repo

如何保留默认的HTML表单验证,同时禁止表单提交?我已尝试使用
event.preventDefault()
return false
。两者均成功阻止表单提交,但均未通过表单验证。我也试过,但即使这样也不行


有人能帮我吗?

同时
event.preventDefault()
返回false工作(如果用于表单提交)。HTML5验证仍然存在

jQuery(“表单”).submit(函数(e){
e、 预防默认值();
//或
//返回false;
});

我使用
checkValidity()
reportValidity()
来解决这个问题

假设您的表单id为
form\u id

示例代码:

function handleSubmit (e) {
  e.preventDefault(); 
  var ele = document.getElementById("FORM_ID");
  var chk_status = ele.checkValidity();
  ele.reportValidity();
  if (chk_status) {
    ...
    // do your customized submit operations here.  
  }
}

注意,jQuery事件返回的
false
也将调用隐式
事件。stopProgagation()
。从非jQuery事件中,它将只触发
事件。preventDefault()
。因此,你给出的两种方法确实有不同的结果。请参见此处:除了使用
required=“required”
之外,您还可以使用
required
。在我看来似乎更好。如果您使用react.js,这可能会解决您的问题,但这仍然会触发默认的html5验证消息弹出窗口吗?