我正在用 C# 开发一个经典的 WebForms 应用程序,我有一个自定义 aspx 页面,用户可以在其中修改他们的数据(电子邮件、密码等),我有大约 3 个文本框和一个用于每个文本框的 RequiredFieldValidator 和一个
<asp:ValidationSummary ID="ChangeUserPasswordValidationSummary" runat="server" CssClass="failureNotification"
ValidationGroup="ChangeUserPasswordValidationGroup"/>
我有一个提交按钮:
<asp:Button ID="ChangePasswordPushButton" runat="server" Text="Cambia password" OnClick="ChangePwd_Click" OnClientClick="return ValidatePasswordFields();"
ValidationGroup="ChangeUserPasswordValidationGroup"/>
在此表单中,当我在转到服务器端“ChangePwd_Click”功能之前单击 ChangePasswordPushButton 时,如果其中一个文本框为空,我想禁用(客户端)验证器。
这些是我编写的客户端函数:
function ValidatePasswordFields() {
var oldpwd = $('#<%=txtCurrentPassword.ClientID %>').val();
if (oldpwd == '') {
setValidators(false);
return true;
} else { setValidators(true);return false; }
}
function setValidators(status) {
ValidatorEnable(document.getElementById('<%= txtCurrentPasswordRequired.ClientID %>'), status);
ValidatorEnable(document.getElementById('<%= ConfirmNewPasswordRequired.ClientID %>'), status);
ValidatorEnable(document.getElementById('<%= NewPasswordRequired.ClientID %>'), status);
return false;
}
问题是这个代码总是回发。
你能帮助我吗?谢谢