使用Javascript验证asp.net textBox

时间:2011-04-13 21:15:53

标签: javascript asp.net validation

我的页面上有一个asp.net TextBox控件,每当用户点击搜索按钮时我都想要验证TextBox for 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。

请有人帮助我。

3 个答案:

答案 0 :(得分:0)

检查another similar question中的答案。

答案 1 :(得分:0)

似乎“搜索”TextBox被放置在INamingContainer上,因此无法评估ClientID属性。使用infragistics get clientID of dropdown in Rowedit template主题中描述的方法:

<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>

答案 2 :(得分:0)

在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>