Javascript 在不提交的情况下启动浏览器的验证和错误消息
我正在尝试使用html5验证和ajax checkValidity方法无法解决我的问题,因为它不会在UI中显示消息错误 我需要启动浏览器验证并使用js显示错误消息。为了做到这一点,我发现我必须提交表格并阻止事件的发生。i、 e:Javascript 在不提交的情况下启动浏览器的验证和错误消息,javascript,html,validation,Javascript,Html,Validation,我正在尝试使用html5验证和ajax checkValidity方法无法解决我的问题,因为它不会在UI中显示消息错误 我需要启动浏览器验证并使用js显示错误消息。为了做到这一点,我发现我必须提交表格并阻止事件的发生。i、 e: $('form#x').submit(function(e){ e.preventDefault(); // ajax code }); 这可以正常工作,并且只有在所有表单文件都有效的情况下才会执行ajax代码。但是,我意识到,一旦表单有效,ajax代码
$('form#x').submit(function(e){
e.preventDefault();
// ajax code
});
这可以正常工作,并且只有在所有表单文件都有效的情况下才会执行ajax代码。但是,我意识到,一旦表单有效,ajax代码的执行次数与单击submit按钮的次数相同。WTF
我可以通过使用全局标志来解决这个问题:
flah = 0;
$form.submit(function(e){
e.preventDefault();
if(flag) return;
flag = 1;
//send x ajax
// in ajax callback >> flag = 0
});
是否有其他方法可以在不提交的情况下启动验证?
事件触发器问题是浏览器错误还是代码中的问题
谢谢试试这个:
$('form#x').submit(function(e){
e.preventDefault();
if(!this.checkValidity()){
return false;
}
// ajax code
});
试试这个:
$('form#x').submit(function(e){
e.preventDefault();
if(!this.checkValidity()){
return false;
}
// ajax code
});