使用jquery在CreateUser向导中获取文本框的ClientID

时间:2012-01-17 14:46:48

标签: jquery asp.net textbox createuserwizard clientid

我想查看用户名availbilty,所以我有这个代码:

 <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 %>';

3 个答案:

答案 0 :(得分:2)

试试这个

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

答案 1 :(得分:1)

将ClientIdMode设置为静态并引用您的控件,我完全按照您的设置进行操作 例如;

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

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

答案 2 :(得分:0)

试试这个

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