簡體   English   中英

使用JavaScript驗證asp.net textBox

[英]validating asp.net textBox using Javascript

我的頁面上有一個asp.net TextBox控件,每當用戶單擊搜索按鈕時,我都有一個搜索按鈕,我想驗證TextBox是否為Blank。 我想使用onClientClick事件並傳遞參數,因為我的Javascript函數將要從外部JS調用。

這是我嘗試過的。

<asp:TextBox ID="search" runat="server">
</asp:TextBox>

<script language="javascript" type="text/javascript">
    function voidsearch(s) {
        alert(document.getElementById(s).value);
    }
</script>

<asp:ImageButton ID="img1" runat="server" ImageUrl="Dotnetnuke.ico" 
    OnClientClick="voidsearch('<%= search.ClientID %>'); return false;" />

但這會引發錯誤。 所需對象。 我也通過了this.search ..但同樣的錯誤。 我不明白為什么我會收到此錯誤,因為我先聲明了控件,然后又調用了它的ID。

請任何人幫助我。

在asp.net上單擊按鈕的空白文本框中進行驗證

<asp:textbox id="name" runat="server"></asp:textbox>

創建用於驗證文本框的JavaScript函數

<script language="javascript" type="text/javascript">
   function validate()
      {
         if(document.getElementByID("<%=name.ClientID%>").value=="")
           {
              alert("Please enter something");
              document.getElementByID("<%=name.ClientID%>").focus();
              return false;
           }
           return true;
      }
</script>

單擊按鈕即可調用功能:

<asp:button id="btn1" runat="server" OnClientClick="return validate()"></asp:button>

似乎“搜索”文本框已放在INamingContainer上,因此無法評估ClientID屬性。 使用在Rowedit模板線程中的基礎設施獲取下拉列表的clientID中描述的方法:

<asp:TextBox ID="search" runat="server" OnInit="search_Init"></asp:TextBox>
<asp:ImageButton ID="img1" runat="server" ImageUrl="Dotnetnuke.ico" 
    OnClientClick="voidsearch();" return false;" />

protected void search_Init(object sender, EventArgs e) {
    TextBox txt = (TextBox)sender;
    string script = string.Format("var _{0} = document.getElementById('{1}');", txt.ID, txt.ClientID);
    Page.ClientScript.RegisterStartupScript(Page.GetType(), "ANY_KEY", script, true);
}

<script language="javascript" type="text/javascript">
function voidsearch() {
    alert(_search);
    alert(_search.value);
}
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM