2012-07-19 70 views
1

我的网页内有近5个表单,其元素使用jquery.validate.js进行验证。我点击“保存”按钮(不提交),点击后保存所有细节。我需要验证所有的表单,当我点击'保存',如果任何验证失败,我需要停止该点击事件。是否有办法做到这一点?使用jquery验证验证多个表单

例如:

<html> 
<script type='text/javascript'> 
    $(document).ready(function() { 
     $('#form1').validate(); 
     $('#form2').validate(); 
     $('#form3').validate(); 
    }); 
</script> 
<form id='form1'>..elements to be validated..</form> 
<form id='form2'>..elements to be validated..</form> 
<form id='form3'>..elements to be validated..</form> 
<form id='form4'>..elements to be validated..</form>... 
<input type='button' name='save_btn' id='save_btn' value='save'> 
</html> 

我也试过

$("#save_btn").click(function(){ 
    $("form1").validate(); 
}); 

它显示错误消息,但仍单击功能进行out.If任何人都可以建议我一些解决方案将是更有帮助的形式我。

谢谢。

回答

4

,你可以使用函数valid()可用来检查窗体或特定元素是否有效

,所以你可以为你的按钮单击事件做这样的事情

$("#save_btn").click(function(){ 
    if ($("form1").valid() 
     && $("form2").valid() 
     && $("form3").valid() 
     && $("form4").valid()) 
    { 
    // do what you want here 
    } else { 
    return false; // to suppress the click event 
    } 
}); 
+0

谢谢劳伦斯梁,它帮助我,它现在工作正常..我以前不知道有效()函数.. – Santhiya 2012-07-20 05:04:35

+1

@Santhiya欢迎您。保持[this](http://docs.jquery.com/Plugins/Validation)方便,它具有所有可用的功能。 – 2012-07-20 05:22:05