2013-07-22 112 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的你的帮助。 –