我正在尝试使用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>
答案 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" />