2010-03-08 49 views
1

我想檢查如果asp.net文本框是空的或不使用Java腳本。 我的代碼工作正常,但如果 我輸入只有數字將conder它爲空,所以我要麼輸入字母和數字,只能輸入字母。與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> 

回答

3

更換

  if (isNaN(txt) == false) { 

通過

  if (txt == "") { 

爲isNan看here

isNaN函數計算參數以確定它是否爲「NaN」(不是數字)。

0

isNAN正在檢查輸入是否是數字。即:不是數字。

因此,如果只輸入數字,它將返回false。

您應該替換該檢查以查看文本是否等於空字符串。

0

爲什麼不使用if (txt.length == 0)

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