How to get value of a text field using JavaScript? (jQuery)
I'm trying to get the value of a text field using jQuery, but it is not working.
Below is the test:
I have 开发者_StackOverflow中文版this in HTML:
<input type="text" id="user_time_zone_offset_hours" name="user_time_zone_offset_hours" value="7"/>
In JavaScript, using jQuery (this does not work):
alert($('#user_time_zone_offset_hours').value); //Result is 'undefined'
In JavaScript, not using jQuery (this works):
alert(document.getElementById("user_time_zone_offset_hours").value); //Result is 7
Why is jQuery returning 'undefined' ?
jQuery wraps the original DOM objects in its own object, so the .value
property isn't directly accessible.
To get the original DOM object, you can access the jQuery object as an array:
$('#user_time_zone_offset_hours')[0].value;
Alternatively, jQuery provides a method to get inputs' values:
$('#user_time_zone_offset_hours').val();
It doesn't work because .value isn't the correct call. Try using the .val() function.
alert($('#user_time_zone_offset_hours').val());
Try $('#user_time_zone_offset_hours').val()
.
To get the value try
$('#user_time_zone_offset_hours').val()
you can also use
$('p').text()
to get the inner text of a paragraph element, or
$('#any_div').html()
to get HTML contents of any element.
The difference between text()
and html()
is that if you use text()
to set HTML content, eg.
$("#and_div").text('<a href="example.com">Link</a>');
it will get escaped
<a href="example.com">Link</a>
You can use $('#user_time_zone_offset_hours').html()
.
精彩评论