0

ユーザー名の可用性を確認したいので、次のコードを使用します。

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

3 に答える 3

2

これを試して

var UserName = '<%= ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>';
于 2012-01-17T14:53:11.777 に答える
1

ClientIdModeをstaticに設定し、設定したとおりにコントロールのIを参照します。たとえば、

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

$('#dropdown')を使用してアクセスします

于 2013-03-10T16:20:43.113 に答える
0

これを試して

    var UserName=document.getElementById('<%=((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>')
于 2012-01-17T15:01:37.230 に答える