1

Webページ内に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 に答える