【问题标题】:Getting ClientID of textbox in CreateUser Wizard using jquery使用 jquery 在 CreateUser 向导中获取文本框的 ClientID
【发布时间】:2012-02-12 08:56:31
【问题描述】:

我想检查用户名是否可用,所以我有这个代码:

 <script type = "text/javascript">
        function ShowAvailability() {
            $.ajax({
                type: "POST",
                url: "Default.aspx/CheckUserName",
                data: '{userName: "' + $("#<%=UserName.ClientID%>")[0].value + '" }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response);
                }
            });
        }
        function OnSuccess(response) {
            var mesg = $("#mesg")[0];

            switch (response.d) {
                case "true":
                    mesg.style.color = "green";
                    mesg.innerHTML = "Available";
                    break;
                case "false":
                    mesg.style.color = "red";
                    mesg.innerHTML = "Not Available";
                    break;
                case "error":
                    mesg.style.color = "red";
                    mesg.innerHTML = "Error occured";
                    break;
            }
        }
        function OnChange(txt) {
            $("#mesg")[0].innerHTML = "";
        }
    </script> 

一般我们这样写是为了获取需要的clientID

$("#<%=UserName.ClientID%>")

现在我需要获取用户名文本框客户端 ID,因为我正在使用创建用户向导。 这种情况下怎么办?

我已经尝试过了,但是我收到了错误,因为“TextBox”是一种类型,不能用作表达式。

   var UserName = '<%= ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>';

【问题讨论】:

    标签: jquery asp.net textbox createuserwizard clientid


    【解决方案1】:

    试试这个

    var UserName = '<%= ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>';
    

    【讨论】:

    • @Shankar-我在我的代码中尝试过更新的同样的东西,但它给了我一个错误,如上所述。
    • @Shankar-我已尝试使用您的代码,但出现相同的错误。
    【解决方案2】:

    试试这个

        var UserName=document.getElementById('<%=((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>')
    

    【讨论】:

    • 也试试这个——var UserName= $('#');
    【解决方案3】:

    将 ClientIdMode 设置为静态并完全按照您的设置引用您的控件 例如;

    <asp:DropDownList Id="dropdown" ClientIdMode="Static" runat="server" />
    

    使用 $('#dropdown') 访问它

    【讨论】:

    • 感谢在我的控件中将 ClientIdMode 设置为 Static 帮助了我。
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多