我有以下登录表单,我正在使用阻止UI 来阻止登录表单,同时进行服务器端验证,并且由于更新面板,此块ui在更新面板后再次取消阻止登录表单刷新:
登录表单
<h1>User Login</h1>
<asp:Label ID="lblErrorCredentials" runat="server" ForeColor="Red"></asp:Label>
<label class="grey" for="log">Email ID:</label>
<asp:TextBox ID="txtCustEmailID" runat="server" CssClass="field"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvCustEmailID" runat="server" Font-Bold="False"
Font-Size="Small" ForeColor="Red" ErrorMessage="Please Enter Valid EmailId."
ControlToValidate="txtCustEmailID" SetFocusOnError="True"Text="*">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revCustEmailID" runat="server"
ControlToValidate="txtCustEmailID" ErrorMessage="Invalid Email ID" Font-Bold="False"
Font-Size="Small" ForeColor="Red"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</asp:RegularExpressionValidator>
<label class="grey">Password:</label>
<asp:TextBox ID="txtCustPwd" runat="server" CssClass="field"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvCustPwd" Font-Bold="False"Font-Size="Small" ForeColor="Red" runat="server" ErrorMessage="Please Enter Your Password."
ControlToValidate="txtCustPwd" SetFocusOnError="True" Text="*">
</asp:RequiredFieldValidator>
<asp:Button ID="btnCustLogin" runat="server" Text="Login" OnClick="btnCustLogin_Click"/>
这个块ui正在阻止我的div永久地仍然由于输入错误而激活验证器,用户无法再次重试日志。
以下是块ui的代码
阻止用户界面:
$(document).ready(function () {
$('#btnCustLogin').click(function () {
$('div#LoginForm').block({
message: '<h4>Processing</h4>',
css: { border: '3px solid #35a7c1' }
});
});
});
现在我希望每当我的asp验证器被激活时,这个块ui应该被禁用。请帮帮我。
答案 0 :(得分:1)
我使用简单的javascript isValid属性
找到了解决方案我正在做的是检查所有验证器的有效性,如果所有验证器都正确并通过,那么我只是调用块ui来阻止登录表单,如下所示:`
$(document).ready(function () {
$('#btnCustLogin').click(function () {
if (document.getElementById("rfvCustEmailID").isvalid && document.getElementById("revCustEmailID").isvalid && document.getElementById("rfvCustPwd").isvalid) {
$('div#LoginForm').block({
message: '<h3><img src="Images/Loading_Smaller.gif"/> Processing...</h3>',
css: {
border: '3px solid #35a7c1',
width: '200px'
}
});
}
});
});
现在登录表单仅在传递所有验证程序时才会阻止,并在服务器端验证完成并更新面板更新之前保持阻止状态。