I tried using this code to obtain the var value using jQuery. For some reason name equals null or undefined, and I can’t seem to figure it out.
<asp:TextBox
ID="Text_Email"
runat="server"
CssClass=""
Width="234px">Email</asp:TextBox>
var name = $("#<%=Text_Email.ClientID%>").value; // name == undefined
Here is my main script:
$(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;
}
});
});
This part also confuses me. Why does this occur? Can someone explain to me why name is defined here?
$("#<%=Text_Email.ClientID%>").click(function () {
var name = this.value;//name != undefined;
});
whereas here name is undefined
var name = $("#<%=Text_Email.ClientID%>").value; // name == undefined;
Thank you for any help.
jQuery does not have value but val() function for textbox,
Try this,
Your code will be