Javascript 阻止表单提交但保留表单验证
如何保留默认的HTML表单验证,同时禁止表单提交?我已尝试使用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
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验证消息弹出窗口吗?