2013-07-22 47 views
1

我下面的ASP 文本框中:低於這個文本框防止頁是後回來,如果JavaScript的驗證失敗

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

我已經錯誤信息標籤,這是最初隱藏,直到JS文本框中驗證失敗

<label id="errorMsg" for="pwd" style="display:none">error</label > 

以下爲文本框驗證JS

function validation() 
{ 
    var pwd = document.getElementById("txtPasswrod").value; 
    if (pwd == null || pwd == "") 
    { 
    document.getElementById("error").style.display = 'block'; 
    return false; 
    } 
} 

以下是ASP按鈕,其的OnClientClick事件我打電話驗證()功能:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" 
    onclick="btnSubmit_Click" OnClientClick="validation()"/> 

驗證正在工作所有罰款,但問題m是當文本框驗證失敗JS應該防止網頁被回傳,但JS允許頁是回發和我的驗證JST成爲沒用

請告訴我如何防止頁面回傳未通過js驗證

回答

4

您需要對您的JS腳本稍作修改。您需要添加.ClientID,因爲您指定的控件是服務器控件。或者,如果您使用的是.NET 4.0,則可以使用ClientIDMode= "Static"訪問您在代碼中使用的控件。

function validation() { 
       var pwd = document.getElementById('<%=txtPasswrod.ClientID').value; 
       if (pwd == null || pwd == "") 
       { 
        document.getElementById("errorMsg").style.display = 'block'; 
        return false; 
       } 
      } 

現在所說的驗證方法是這樣的:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" 
    onclick="btnSubmit_Click" OnClientClick="return validation();"/> 
6

修改validation()return validation(),如果function返回false,這將停止頁面發佈。

<asp:Button ID="btnSubmit" runat="server" Text="Submit" 
    onclick="btnSubmit_Click" OnClientClick="return validation();"/> 
+0

你的回答是寫字,但另一件事我加入的是:<%= txtCustOldPwd.ClientID%>由阿米特說... thanx的你的幫助。 –