Получение ClientID текстового поля в мастере CreateUser с помощью jquery - PullRequest
0 голосов
/ 17 января 2012

Я хочу проверить доступность имени пользователя, поэтому у меня есть этот код:

 <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> 

Как правило, мы пишем так, чтобы получить требуемый идентификатор клиента

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

Теперь мне нужно получить идентификатор клиента в текстовом поле «Имя пользователя», поскольку я использую мастер создания пользователя. Как мне поступить в этом случае?

Я пробовал это, но я получаю ошибку, так как TextBox является типом и не может использоваться в качестве выражения.

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

Ответы [ 3 ]

2 голосов
/ 17 января 2012

Попробуйте это

var UserName = '<%= ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>';
1 голос
/ 10 марта 2013

Установите ClientIdMode на static и ссылайтесь на ваш элемент управления, я бы точно так, как вы его установили. Например:

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

Используйте $ ('# dropdown') для доступа к нему

0 голосов
/ 17 января 2012

Попробуйте это

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