Getting input values is one of the most fundamental tasks when working with jQuery and web forms. Whether you’re building a contact form, calculator, or any interactive web application, knowing how to retrieve user input is essential.
This comprehensive guide will show you everything you need to know about getting input values using jQuery.
What is jQuery val() Method?
The jQuery val() method is the primary way to get and set the value of form elements. It works with various input types, including text boxes, dropdowns, checkboxes, radio buttons, and more. This method is part of jQuery’s core functionality and provides a simple, cross-browser compatible way to handle form data.
Basic Syntax for Getting Input Values
The basic syntax for getting an input value is easy:
var inputValue = $('#inputId').val();Or using class selectors:
var inputValue = $('.inputClass').val();Get Text Input Values
I will give you some examples on how to get text input values.
Example 1: Simple Text Input
Here’s a basic example of getting a text input value:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<input type="text" id="username" placeholder="Enter your name">
<button id="getValue">Get Value</button>
<p id="result"></p>
<script>
$(document).ready(function(){
$('#getValue').click(function(){
var name = $('#username').val();
$('#result').text('Hello, ' + name + '!');
});
});
</script>
</body>
</html>You can refer to the screenshot below to see the output.

Example 2: Multiple Text Inputs
When working with multiple inputs, you can get values individually or use loops:
$(document).ready(function(){
$('#submitForm').click(function(){
var firstName = $('#firstName').val();
var lastName = $('#lastName').val();
var email = $('#email').val();
console.log('First Name: ' + firstName);
console.log('Last Name: ' + lastName);
console.log('Email: ' + email);
});
});You can refer to the screenshot below to see the output.

Get Values from Different Input Types
Now, I will explain to you how to get value from different input types.
Dropdown/Select Elements
Retrieve both the selected value and visible text from a dropdown menu.
// Get selected value
var selectedValue = $('#dropdown').val();
// Get selected text
var selectedText = $('#dropdown option:selected').text();Checkboxes
Detect whether a checkbox is checked and collect the values of all selected options.
// Check if checkbox is checked
if($('#checkbox').is(':checked')){
var checkboxValue = $('#checkbox').val();
console.log('Checkbox is checked with value: ' + checkboxValue);
}
// Get all checked checkboxes
var checkedValues = [];
$('input[name="hobbies"]:checked').each(function(){
checkedValues.push($(this).val());
});Radio Buttons
Get the value of the currently selected radio button from a group.
// Get selected radio button value
var selectedRadio = $('input[name="gender"]:checked').val();Advanced Techniques for Getting Form Data
Let me explain to you the advanced techniques for getting form data.
Using serialize() Method
The serialize() method creates a URL-encoded string from form data:
$('#myForm').submit(function(e){
e.preventDefault();
var formData = $(this).serialize();
console.log(formData); // Output: name=John&email=john@example.com
});Use serializeArray() Method
This method returns an array of objects containing form data:
var formArray = $('#myForm').serializeArray();
console.log(formArray);
// Output: [{name: "username", value: "John"}, {name: "email", value: "john@example.com"}]Create an Object from Form Data
Convert form data into a JavaScript object:
function getFormData(){
var formData = {};
$('#myForm').serializeArray().forEach(function(field){
formData[field.name] = field.value;
});
return formData;
}Real-World Example: Contact Form
Here’s a complete example of a contact form with validation:
<form id="contactForm">
<div>
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
</div>
<div>
<label for="message">Message:</label>
<textarea id="message" name="message" required></textarea>
</div>
<button type="submit">Send Message</button>
</form>
<script>
$(document).ready(function(){
$('#contactForm').submit(function(e){
e.preventDefault();
// Get individual values
var name = $('#name').val();
var email = $('#email').val();
var message = $('#message').val();
// Validate inputs
if(name.trim() === '' || email.trim() === '' || message.trim() === ''){
alert('Please fill in all fields');
return;
}
// Process form data
console.log('Name: ' + name);
console.log('Email: ' + email);
console.log('Message: ' + message);
// You would typically send this data to a server here
alert('Form submitted successfully!');
});
});
</script>You can refer to the screenshot below to see the output.

Best Practices and Tips
Here are some best practices and tips for getting the value of input.
1. Always Trim Input Values
Remove whitespace from user input:
var cleanValue = $('#input').val().trim();2. Validate Before Processing
Always validate input values before using them:
var userAge = $('#age').val();
if(isNaN(userAge) || userAge < 0){
alert('Please enter a valid age');
return;
}3. Handle Empty Values
Check for empty inputs:
var inputValue = $('#input').val();
if(!inputValue || inputValue.length === 0){
console.log('Input is empty');
}4. Use Event Delegation for Dynamic Content
For dynamically added elements:
$(document).on('change', '.dynamic-input', function(){
var value = $(this).val();
console.log('Dynamic input value: ' + value);
});Common Issues and Solutions
Let me show you some common issues that may occur while getting the value of input and solutions to them.
Issue 1: Get Undefined Values
Make sure the element exists before trying to get its value:
if($('#myInput').length > 0){
var value = $('#myInput').val();
}Issue 2: Values Not Updating
If values aren’t updating, ensure you’re calling val() after the input changes:
$('#input').on('input', function(){
var currentValue = $(this).val();
console.log('Current value: ' + currentValue);
});Getting input values with jQuery is essential for creating interactive web applications. The val() method provides a simple and reliable way to retrieve user input from various form elements. Whether you’re working with simple text inputs or complex forms with multiple input types, these techniques will help you handle form data effectively.
Remember to always validate user input, handle edge cases, and follow best practices for a robust and user-friendly experience. With these examples and techniques, you’ll be able to confidently work with form data in your jQuery applications.
You may read:
- jQuery “$ is not a function” Error
- jQuery Get Text of Selected Option
- JavaScript vs jQuery: Key Differences
- How to Fix “jQuery $ is not defined” Error

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.