2016-03-17 110 views
-1

我使用工具集CRED插件生成的表单具有jquery.validate验证。 我在用户重复点击提交按钮时产生了重复内容的问题。jquery验证与防止双重提交的脚本冲突

我试图添加此代码,以防止多次提交

$("form").submit(function() { 
     // submit more than once return false 
     $(this).submit(function() { 
      return false; 
     }); 
     // submit once return true 
     return true; 
    }); 

它工作正常,除了一个事实,即如果该用户第一次提交表单没有通过验证,然后提交按钮不再工作了。

你可以建议任何调整? 谢谢 Carlo

回答

-1

您可以创建一个全局变量并检查它是否已被更改。 然后假设它是一个常规表单,页面将重新加载,您可以再次发送表单。

var hasBeenSent = false; 

$("form").on('submit',function(e){ 
    if(hasBeenSent != false){ 
     e.preventDefault(); // this should prevent sending the form. 
    }else{ 
     hasBeenSent = true; 
    } 
}) 
+0

这个想法的一个巨大问题是jQuery Validate插件有它自己的内置提交处理函数。 – Sparky