私は C# で従来の WebForms アプリケーションを開発しており、ユーザーがデータ (電子メール、pwd など) を変更できるカスタム aspx ページを持っています。
<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 をクリックすると、テキスト ボックスの 1 つが空の場合に (クライアント側で) バリデーターを無効にしたいと考えています。
これらは私が書いたクライアント側の関数です:
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;
}
問題は、このコードが常にポストバックすることです。
手伝って頂けますか?ありがとう