2
ポストバックなしでログインが存在するかどうかを確認します。asp.net ajax - 原因の検証onBlurイベント
<script type="text/javascript">
//validation login exists
function ValidateLoginExists(source, args) {
var exists;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: '/account/userRegister.aspx/LoginExists',
data: "{'login': '" + args.Value + "'}",
dataType: "json",
async: false,
success: function (result) {
exists = result.d;
}
});
args.IsValid = !exists;
}
</script>
<div>
<b>Login</b>
<uc:TextBox ID="txtLogin" runat="server"
onBlur="ValidateLoginExists(null, $('#<%=txtLogin.ClientID %>').val())" />
<asp:CustomValidator runat="server"
ID="cvLoginValidator"
ClientValidationFunction="ValidateLoginExists"
ForeColor="Red" ErrorMessage="Login also exists"
ControlToValidate="txtLogin" />
</div>
このコードは、フォーム送信時のみ正しく動作しますが、onBlurでは動作しません。 onBlurイベントでValidateLoginExists
に電話するにはどうすればよいですか?
javascriptを使ってcvLoginValidatorを "isValid = false"に設定する方法はありますか? – Alexandre
EnableClientScript ==デフォルトでは "true"です。しかし、私はonBlurイベントハンドラを削除しました。 – Alexandre
ああ、本当です。私はドキュメントを読むべきだった。あなたがそれを整理してうれしいです。 –