2013-03-25 100 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