Javascript 在不提交的情况下启动浏览器的验证和错误消息

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代码

我正在尝试使用html5验证和ajax

checkValidity方法无法解决我的问题,因为它不会在UI中显示消息错误

我需要启动浏览器验证并使用js显示错误消息。为了做到这一点,我发现我必须提交表格并阻止事件的发生。i、 e:

$('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
 });