1

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

例如 :

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

它显示错误消息但仍然执行单击功能。如果有人可以建议我一些解决方案,它将对我更有帮助。

谢谢你。

4

1 回答 1

5

您可以使用可用于检查表单或特定元素是否有效的函数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
  }
});
于 2012-07-20T04:08:01.033 回答