【问题标题】:asp.net ajax - cause validation onBlur eventasp.net ajax - 导致验证 onBlur 事件
【发布时间】:2011-07-18 08:08:52
【问题描述】:

我想在没有回发的情况下检查登录是否存在。

<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 asp.net ajax webforms


    【解决方案1】:

    您的 CustomValidator 中缺少 EnableClientScript="true"。不确定这是否是问题,因为我从未排除过它。回家后试试看。

    【讨论】:

    • 有没有办法使用 javascript 将 cvLoginValidator 设置为“isValid=false”?
    • EnableClientScript=="true" 默认情况下。但我刚刚删除了 onBlur 事件处理程序,它的工作。
    • 啊,真的。我应该阅读文档。很高兴你把它整理好了。
    猜你喜欢
    • 2021-09-17
    • 1970-01-01
    • 2020-03-08
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    相关资源
    最近更新 更多