带有java脚本问题的asp.net文本框

时间:2010-03-08 20:58:52

标签: asp.net javascript

我正在尝试使用java脚本检查asp.net文本框是否为空。 我的代码工作正常,但如果 我只输入数字会将其变为空,所以我要么输入字母和数字,要么只输入字母。

请建议。

这是我的代码

 <script type="text/javascript">
function check(){
  var txt = document.getElementById('<%=txt.ClientID%>').value;

              //(isNaN(cmbStateHome) == false

              if (isNaN(txt) == false) {
                  alert("Please enter some thing.");

              }
              else {alert("ok");}
          }
}
</script> 


 <asp:TextBox ID="txt" runat="server"></asp:TextBox>
                <asp:TextBox ID="txtZipCodeHome" runat="server" Style="top: 361px; left: 88px; position: absolute;

<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="check()">LinkButton</asp:LinkButton>

4 个答案:

答案 0 :(得分:3)

替换

          if (isNaN(txt) == false) {

通过

          if (txt == "") {

for isNan look here

  

isNaN函数计算参数以确定它是否为“NaN”(不是数字)。

答案 1 :(得分:0)

isNAN正在检查输入是否为数字。即:不是数字。

因此,如果只输入数字,它将返回false。

您应该替换该检查以查看文本是否等于空字符串。

答案 2 :(得分:0)

为什么不使用if (txt.length == 0)

答案 3 :(得分:0)

看一下使用<asp:RequiredFieldValidator />服务器控件。它将自动将正则表达式应用于该字段,并阻止用户在未填写文本框的情况下提交表单。

例)

<asp:TextBox id="TextBox1" runat="server"/>
<asp:RequiredFieldValidator id="req1" ControlToValidate="TextBox1" runat="server" />
<asp:LinkButton id="Button1" Text="Do Something" runat="server" />