我想查看用户名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 %>';
答案 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 %>')