2011-08-21 104 views
0

我有一個頁面,它有一個帶有幾個驗證器的窗體。我也有一個按鈕(HTML提交),它可以重置表單並清除所有文本框。當我第一次單擊按鈕時,代碼工作正常,這會清除表單。但是,如果我填寫表格並嘗試第二次清除表單,則不起作用。我也有其他jQueries切換代碼區域,他們也停止工作後。
有一點要提到的是,當我按下清除表單按鈕時,asp驗證器顯示自己,這對我來說很奇怪,因爲我沒有在它們上面放置一個驗證組,而不是在我的按鈕上。我認爲這是因爲按鈕試圖做回發。
所以有兩個問題,首先是什麼導致我的查詢不起作用?
第二,如何停止嘗試回發按鈕(這會導致驗證器顯示)?
代碼看起來是這樣的:jQuery&ASP.NET驗證器衝突問題

<script> 
    scripts clearing the form and doing toggle actions here. 
</script> 
<form> 
    label & texbox pairs to get info from user, accompanied by Required field validators. 
    <asp:Button ... The Button to submit form /> 
    <input typ="submit" value="Clear Form" /> -->The button to clear form on client side. 
</form> 
+0

如果您的問題可能有其他原因,請發佈實際代碼。 –

+0

實際代碼相當大,有沒有一個地方可以上傳並給出鏈接?但我仍然把它。 – atoMerz

+0

你可以嘗試http://jsfiddle.net/,但我不確定它可以處理多大。 –

回答

1

這將停止提交 - 添加return false。

$('#btnResetForm').click(function() { 
      $('#<%=txtFname.ClientID %>' + 
      ',#<%=txtLname.ClientID %>' + 
      ',#<%=txtNatNo.ClientID %>' + 
      ',#<%=txtBirthCertNo.ClientID %>' + 
      ',#<%=txtUsername.ClientID %>' + 
      ',#<%=txtCellNo.ClientID %>' + 
      ',#<%=txtPhoneNo.ClientID %>' 
      ).val(""); 
      return false; 
     }); 

您可能需要使用toggle(),而不是顯示和隱藏,讓按鈕繼續工作。

+0

它們不是可以切換的按鈕,它們實際上是放射狀按鈕,可以顯示和隱藏不同的區域。 – atoMerz

+0

+謝謝,解決了這個問題。 – atoMerz

+0

我只說英語,所以我遇到了麻煩,你想做什麼...對不起。 – Hogan