How to Get Input Value in JavaScript
Use the .value property when JavaScript needs to read what a user typed into an input, textarea, select, or other form field. This is the standard way to collect form data, validate fields, and trigger live UI updates.
What you’ll build or solve
You’ll learn how to get an input value in JavaScript using the .value property. You’ll also know when to read it on submit versus during typing.
Learn JavaScript on Mimo
When this approach works best
This approach is the right choice when the current field content needs to be used in logic.
Common real-world scenarios include:
- Login forms
- Search fields
- Live previews
- Validation messages
- API form submission
This is a bad idea when you only need the static HTML default and no user interaction happens.
Prerequisites
You only need:
- A basic HTML input field
- A JavaScript file or
<script>tag - Basic DOM selection knowledge
Step-by-step instructions
Step 1: Select the input and read .value
Start by selecting the field.
HTML
<input class="email" type="email" placeholder="Email">
<script>
const emailInput = document.querySelector(".email");
const email = emailInput.value;
console.log(email);
</script>
The .value property always returns the current text in the field.
A common real-world use is reading the value on form submit.
JavaScript
form.addEventListener("submit", (event) => {
event.preventDefault();
console.log(emailInput.value);
});
For live reactions, read it during "input" events.
JavaScript
emailInput.addEventListener("input", () => {
preview.textContent = emailInput.value;
});
What to look for:
.valuegives the current field content- Works for inputs, textareas, and selects
- Read it inside event callbacks for fresh values
- Great for validation and live UI
- Empty fields return an empty string
Examples you can copy
Search field
JavaScript
const query = searchInput.value;
Login form
JavaScript
const password = passwordInput.value;
Live preview
JavaScript
preview.textContent = titleInput.value;
Common mistakes and how to fix them
Mistake 1: Reading the value too early
What the reader might do:
JavaScript
const email = emailInput.value;
Why it breaks: this may capture the value before the user types.
Corrected approach:
Read the value inside the submit or input callback.
Mistake 2: Using .textContent instead of .value
What the reader might do:
JavaScript
const email = emailInput.textContent;
Why it breaks: form fields store typed data in .value.
Corrected approach:
JavaScript
const email = emailInput.value;
Mistake 3: Forgetting empty string handling
What the reader might do:
JavaScript
if (emailInput.value) {
submitForm();
}
Why it breaks: whitespace-only input may still pass weak checks.
Corrected approach:
Trim before validating.
JavaScript
if (emailInput.value.trim() !== "") {
submitForm();
}
Troubleshooting
If the value seems outdated, read it inside the event callback.
If the result is always empty, confirm the selector targets the actual field.
If validation misses whitespace, add .trim().
If the field is not text-based, confirm it still supports .value.
Quick recap
- Use
.valueto read form fields - Read values inside callbacks for fresh data
- Works for inputs, textareas, and selects
- Use
.trim()for safer validation - Do not use
.textContentfor form fields
Join 35M+ people learning for free on Mimo
4.8 out of 5 across 1M+ reviews
Check us out on Apple AppStore, Google Play Store, and Trustpilot