1

同じ関数に異なるパラメータを渡すいくつかのボタンがあります。その関数は最終的に多くのクライアント側の処理を実行しますが、最初に検証する必要があります。検証は正常に機能していますが、成功したらフォームをリセットする必要があります。以下の私のフィドルでは、.resetForm()呼び出しは何も行わず、手動でフィールドをクリアすると、送信しようとしたように検証エラーがスローされることがわかります。

私のフィドルを参照してください:http://jsfiddle.net/uT6pw/10/

html:

    <form id="frm" method="post" onsubmit="return false;">
         <input type="text" id="FName" class="required">
         <span class="field-validation-valid" data-valmsg-for="FName" data-valmsg-replace="true"></span>    
         <button id="btn1" onclick="addContact('1')">1</button>
         <button id="btn2" onclick="addContact('2')">2</button>
         <button id="btn3" onclick="addContact('3')">3</button>
    </form>

javascript:

function addContact(num){
    var v = $("#frm").validate()
    if (v.form())
    {
        v.resetForm();
        //$("#frm").validate().resetForm()
        $("#FName").val('');
    }
}

ありがとう!

4

1 に答える 1

1

resetFormについて聞いたことがないので、これを試してください。

form.reset();

更新:フォームを投稿するボタンタグがあります。これが、クリックしたときにフォームが検証される理由です。代わり<button><input type="button"/>

フィドルを見る

于 2013-03-25T14:53:23.600 に答える