2013-02-26 69 views
2

我使用下面的代碼來驗證asp.net頁面,同時按鈕click.i想檢查文本框是否爲空。如果其爲空意味着它不會進入服務器端單擊事件。如果它有一些價值意味着進程轉到點擊事件後面的代碼。使用javascript驗證.net頁面

現在我遇到了一個小問題。如果文本框的值==「」表示它返回錯誤消息並轉到服務器端單擊事件。當條件爲假時,我如何防止服務器端發回。

<asp:Button ID="btn_add" runat="server" Text="Submit" OnClick="add_new" OnClientClick="valid_name();"/> 

function valid_name() { 
     var name = document.getElementById('<%= txt_name.ClientID%>').value; 
     if (name == "") { 
      alert('Error Alert : You must enter a valid name !.'); 
      return false; 
     } 
     else { 
      return true; 
     } 
    } 
+0

爲什麼不使用'RequiredFieldValidator'?更多信息在這裏:http://www.w3schools.com/aspnet/control_reqfieldvalidator.asp – webnoob 2013-02-26 09:46:49

+0

第一次我試圖使用JavaScript,這就是爲什麼問。 – user2110618 2013-02-26 09:48:43

回答

4

只是更改此代碼

OnClientClick="return valid_name();" 

加入您的通話return會影響點擊是否會通過或停止,那是因爲你實際上從函數返回真/假取決於從輸入但是該返回不會影響按鈕上直接調用return以外的按鈕。

+1

謝謝你這麼糊塗。它的工作。 – user2110618 2013-02-26 09:50:10