2012-01-17 29 views
0

我想檢查用戶名availbilty獲取文本框的客戶端ID在CREATEUSER嚮導,所以我有這樣的代碼:使用jQuery

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

一般我們寫這種方式來獲得所需的客戶端ID

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

現在我需要獲取用戶名文本框客戶端ID,因爲我使用的是創建用戶嚮導。 在這種情況下我該怎麼辦?

我已經試過這個,但我得到錯誤,因爲'文本框'是一種類型,不能用作表達式。

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

回答

2

試試這個

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

@尚卡爾,我已嘗試了爲更新我的代碼,但提到它給我一個錯誤同樣的事情。 – coder

+0

@Kiran - 在您的代碼中缺少您的答案中使用「ClientID」之前,請檢查括號中的括號。 – ShankarSangoli

+0

@ Shankar - 我已經試過了你的代碼,但是看到了同樣的錯誤。 – coder

0

試試這個

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

@ DotNetUser-再次出現相同的錯誤。 – coder

+0

試試這個 - var UserName = $('#<%=((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl(「UserName」))。ClientID%>'); – DotNetUser

1

設置的ClientIDMode靜態和引用您的控件的我會完全按照你設置 例如;

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

使用$(「#下拉菜單」)來訪問它

+0

感謝在我的控制中設置** ClientIdMode **爲Static幫助了我。 – Gowtham