我尝试使用此代码使用 jQuery 获取 var 值。由于某种原因,名称等于 null 或未定义,我似乎无法弄清楚。
<asp:TextBox
ID="Text_Email"
runat="server"
CssClass=""
Width="234px">Email</asp:TextBox>
var name = $("#<%=Text_Email.ClientID%>").value; // name == undefined
这是我的主要脚本:
$(document).ready(function () {
$("#<%=send_info.ClientID%>").click(function () {
// var name = document.getElementById("#<%=Text_Name.ClientID%>").value;
var name = $("#<%=Text_Email.ClientID%>").value;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if (reg.test(name) == false) {
$(this).val("");
$("#error_email_adress").removeClass('email_valid');
$("#error_email_adress").addClass('email_invalid');
return false;
} else {
$("#error_email_adress").removeClass('email_invalid');
$("#error_email_adress").addClass('email_valid');
alert("Message sent");
return true;
}
});
});
这部分也让我感到困惑。为什么会出现这种情况?有人可以向我解释为什么在这里定义名称吗?
$("#<%=Text_Email.ClientID%>").click(function () {
var name = this.value;//name != undefined;
});
而这里的名字是未定义的
var name = $("#<%=Text_Email.ClientID%>").value; // name == undefined;
感谢您的任何帮助。