2013-03-25 127 views
1

我有幾個按鈕,將不同的參數傳遞給同一個函數。該功能最終會做很多客戶端處理,但首先需要驗證。驗證工作正常,但成功後,我需要重置表單。在下面的提琴中,你可以看到.resetForm()調用什麼也不做,如果我手動清除該字段,它會拋出像我試圖提交的驗證錯誤。jquery驗證.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(''); 
    } 
} 

謝謝!

回答

1

我沒有聽說過resetForm,試試這個:

form.reset(); 

更新:您有一個發佈表單按鈕的標籤,這是當你點擊他們的理由的形式得到確認。代替改變<button><input type="button"/>

See fiddle

+0

我真的試圖使用驗證jQuery插件,resetForm()是在該插件的方法。 – Justin 2013-03-25 15:03:38

+0

我也試過$(「#frm」)[0] .reset();當它清除該字段時,它將引發驗證消息,就像設置.val()一樣。 – Justin 2013-03-25 16:01:35

+0

@Justin查看更新回答 – karaxuna 2013-03-26 10:06:13