9

そのため、CSS を介して 6 つのタブが非表示になり、ユーザーが次にクリックすると別の部分がフェードインする 7 つの部分からなるフォームがあります。

プラグインが機能していることを確認するためにページを送信しました。です。基本的に、現在の部分を検証せずにフォームの次の部分に進むだけです

例として

HTML

<form id = "form1" action = "backend.php" method = "post">
<label for "phone">First Name </label>
    <input type = "text" name = "fName" placeholder = "First Name..." class = "required" id = "fName" />
<button id = "btn" type = "button" class = "buttonnav next">next</button>
</form>

Javascript

$('#btn').click( function() { $("#form1").validate();});
4

1 に答える 1

21

コードでjQueryValidateプラグインを使用している場合、ボタンがクリックされるまでプラグインは初期化されません。プラグインが初期化されていない場合、検証は行われません。

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

代わりに、フォームでプラグイン を初期化.validate()する準備ができているDOMで一度呼び出されます。

初期化後いつでもフォームをテストする場合は、.valid()メソッドを使用します。

$(document).ready(function () {

    $('#form1').validate({ // initialize plugin
        // your options
    });

    $('#btn').click( function() { 
        $("#form1").valid();  // test the form for validity
    });

});

相互作用するように各パーツをどのように設定したか、または他にどのようなコードが使用されているかはわかりません。OPだけに基づいて、上記の私の答えを使用した実際の例を次に示します。

デモ:http: //jsfiddle.net/pqVJM/

$(document).ready(function () {

    $('#form1').validate();

    $('#btn').click(function () {
        if ($("#form1").valid()) {
            alert('hello - valid form');
        }
    });

});
于 2013-03-15T18:11:24.713 に答える