Reputation: 25733
What are the ways to get and render an input value using jQuery?
Here is one:
$(document).ready(function() {
$("#txt_name").keyup(function() {
alert($(this).val());
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<input type="text" id="txt_name" />
Upvotes: 1125
Views: 2829846
Reputation: 92627
txt_name.value
txt_name.onkeyup = e=> alert(txt_name.value);
<input type="text" id="txt_name" />
Upvotes: -1
Reputation: 19
You can try
let quantity = $('input[name = quantity]').val()
where the name of the input field is quantity
Upvotes: 0
Reputation: 709
I think this function is missed here in previous answers:
.val( function(index, value) )
Upvotes: 16
Reputation: 341
Try this. It will work for sure.
var userInput = $('#txt_name').attr('value')
Upvotes: 3
Reputation: 602
You can simply set the value in text box.
First, you get the value like
var getValue = $('#txt_name').val();
After getting a value set in input like
$('#txt_name').val(getValue);
Upvotes: 5
Reputation: 1020
For those who just like me are newbies in JS and getting undefined
instead of text value make sure that your id
doesn't contain invalid characters.
Upvotes: 3
Reputation: 319
You can get the value like this:
this['inputname'].value
Where this
refers to the form that contains the input.
Upvotes: 15
Reputation: 3389
You have to use various ways to get current value of an input element.
METHOD - 1
If you want to use a simple .val()
, try this:
<input type="text" id="txt_name" />
Get values from Input
// use to select with DOM element.
$("input").val();
// use the id to select the element.
$("#txt_name").val();
// use type="text" with input to select the element
$("input:text").val();
Set value to Input
// use to add "text content" to the DOM element.
$("input").val("text content");
// use the id to add "text content" to the element.
$("#txt_name").val("text content");
// use type="text" with input to add "text content" to the element
$("input:text").val("text content");
METHOD - 2
Use .attr()
to get the content.
<input type="text" id="txt_name" value="" />
I just add one attribute to the input field. value=""
attribute is the one who carry the text content that we entered in input field.
$("input").attr("value");
METHOD - 3
you can use this one directly on your input
element.
$("input").keyup(function(){
alert(this.value);
});
Upvotes: 25
Reputation: 18644
//Get
var bla = $('#txt_name').val();
//Set
$('#txt_name').val(bla);
Upvotes: 1852
Reputation: 547
To get the textbox value, you can use the jQuery val()
function.
For example,
$('input:textbox').val()
– Get textbox value.
$('input:textbox').val("new text message")
– Set the textbox value.
Upvotes: 10
Reputation: 13667
There is one important thing to mention:
$("#txt_name").val();
will return the current real value of a text field, for example if the user typed something there after a page load.
But:
$("#txt_name").attr('value')
will return value from DOM/HTML.
Upvotes: 95
Reputation: 10340
You can only select a value with the following two ways:
// First way to get a value
value = $("#txt_name").val();
// Second way to get a value
value = $("#txt_name").attr('value');
If you want to use straight JavaScript to get the value, here is how:
document.getElementById('txt_name').value
Upvotes: 624
Reputation: 630589
You can get the value
attribute directly since you know it's an <input>
element, but your current usage of .val()
is already the current one.
For the above, just use .value
on the DOM element directly, like this:
$(document).ready(function(){
$("#txt_name").keyup(function(){
alert(this.value);
});
});
Upvotes: 45