JavaScript can select form elements using document.forms, getElementById(), or querySelector().
let form = document.getElementById("myForm");
let username = document.querySelector("#username");
let email = document.forms["myForm"]["email"];let form = document.getElementById("myForm");
let username = document.querySelector("#username");
let email = document.forms["myForm"]["email"];let form = document.getElementById("myForm");
let username = document.querySelector("#username");
let email = document.forms["myForm"]["email"];To get user input:
let usernameValue = document.getElementById("username").value;
console.log(usernameValue);let usernameValue = document.getElementById("username").value;
console.log(usernameValue);let usernameValue = document.getElementById("username").value;
console.log(usernameValue);To set an input value dynamically:
document.getElementById("username").value = "DefaultUser";document.getElementById("username").value = "DefaultUser";document.getElementById("username").value = "DefaultUser";The submit event triggers when a form is submitted. Use event.preventDefault() to prevent page reload.
document.getElementById("myForm").addEventListener("submit", event => {
event.preventDefault();
console.log("Form submitted!");
});document.getElementById("myForm").addEventListener("submit", event => {
event.preventDefault();
console.log("Form submitted!");
});document.getElementById("myForm").addEventListener("submit", event => {
event.preventDefault();
console.log("Form submitted!");
});Example of collecting form data:
document.getElementById("myForm").addEventListener("submit", event => {
event.preventDefault();
let username = document.getElementById("username").value;
let email = document.getElementById("email").value;
console.log(`Username: ${username}, Email: ${email}`);
});document.getElementById("myForm").addEventListener("submit", event => {
event.preventDefault();
let username = document.getElementById("username").value;
let email = document.getElementById("email").value;
console.log(`Username: ${username}, Email: ${email}`);
});document.getElementById("myForm").addEventListener("submit", event => {
event.preventDefault();
let username = document.getElementById("username").value;
let email = document.getElementById("email").value;
console.log(`Username: ${username}, Email: ${email}`);
});Validating input fields ensures data correctness before submission.
document.getElementById("myForm").addEventListener("submit", event => {
let username = document.getElementById("username").value;
let email = document.getElementById("email").value;
if (username === "" || email === "") {
event.preventDefault();
alert("All fields are required!");
}
});document.getElementById("myForm").addEventListener("submit", event => {
let username = document.getElementById("username").value;
let email = document.getElementById("email").value;
if (username === "" || email === "") {
event.preventDefault();
alert("All fields are required!");
}
});document.getElementById("myForm").addEventListener("submit", event => {
let username = document.getElementById("username").value;
let email = document.getElementById("email").value;
if (username === "" || email === "") {
event.preventDefault();
alert("All fields are required!");
}
});if (username.length < 3) {
alert("Username must be at least 3 characters long.");
}if (username.length < 3) {
alert("Username must be at least 3 characters long.");
}if (username.length < 3) {
alert("Username must be at least 3 characters long.");
}Use regular expressions to check if an email is valid.
let emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!emailPattern.test(email)) {
alert("Enter a valid email address.");
}let emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!emailPattern.test(email)) {
alert("Enter a valid email address.");
}let emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!emailPattern.test(email)) {
alert("Enter a valid email address.");
}Instead of alert(), error messages can be displayed near the input field.
document.getElementById("myForm").addEventListener("submit", event => {
let username = document.getElementById("username").value;
let errorDiv = document.getElementById("error-message");
if (username.length < 3) {
event.preventDefault();
errorDiv.textContent = "Username must be at least 3 characters long.";
} else {
errorDiv.textContent = "";
}
});document.getElementById("myForm").addEventListener("submit", event => {
let username = document.getElementById("username").value;
let errorDiv = document.getElementById("error-message");
if (username.length < 3) {
event.preventDefault();
errorDiv.textContent = "Username must be at least 3 characters long.";
} else {
errorDiv.textContent = "";
}
});document.getElementById("myForm").addEventListener("submit", event => {
let username = document.getElementById("username").value;
let errorDiv = document.getElementById("error-message");
if (username.length < 3) {
event.preventDefault();
errorDiv.textContent = "Username must be at least 3 characters long.";
} else {
errorDiv.textContent = "";
}
});<input type="text" id="username">
<div id="error-message" style="color: red;"></div>
<input type="text" id="username">
<div id="error-message" style="color: red;"></div>
<input type="text" id="username">
<div id="error-message" style="color: red;"></div>
JavaScript can validate inputs as users type using the input or keyup event.
document.getElementById("username").addEventListener("input", event => {
let value = event.target.value;
document.getElementById("live-output").textContent = value;
});document.getElementById("username").addEventListener("input", event => {
let value = event.target.value;
document.getElementById("live-output").textContent = value;
});document.getElementById("username").addEventListener("input", event => {
let value = event.target.value;
document.getElementById("live-output").textContent = value;
});<input type="text" id="username">
<p>Live Output: <span id="live-output"></span></p>
<input type="text" id="username">
<p>Live Output: <span id="live-output"></span></p>
<input type="text" id="username">
<p>Live Output: <span id="live-output"></span></p>
document.getElementById("subscribe").addEventListener("change", event => {
console.log(event.target.checked ? "Subscribed" : "Unsubscribed");
});document.getElementById("subscribe").addEventListener("change", event => {
console.log(event.target.checked ? "Subscribed" : "Unsubscribed");
});document.getElementById("subscribe").addEventListener("change", event => {
console.log(event.target.checked ? "Subscribed" : "Unsubscribed");
});<input type="checkbox" id="subscribe">
<input type="checkbox" id="subscribe">
<input type="checkbox" id="subscribe">
document.querySelectorAll('input[name="gender"]').forEach(radio => {
radio.addEventListener("change", event => {
console.log("Selected gender:", event.target.value);
});
});document.querySelectorAll('input[name="gender"]').forEach(radio => {
radio.addEventListener("change", event => {
console.log("Selected gender:", event.target.value);
});
});document.querySelectorAll('input[name="gender"]').forEach(radio => {
radio.addEventListener("change", event => {
console.log("Selected gender:", event.target.value);
});
});<input type="radio" name="gender" value="Male"> Male
<input type="radio" name="gender" value="Female">
<input type="radio" name="gender" value="Male"> Male
<input type="radio" name="gender" value="Female">
<input type="radio" name="gender" value="Male"> Male
<input type="radio" name="gender" value="Female">
JavaScript can detect changes in dropdowns and retrieve selected values.
document.getElementById("country").addEventListener("change", event => {
console.log("Selected country:", event.target.value);
});document.getElementById("country").addEventListener("change", event => {
console.log("Selected country:", event.target.value);
});document.getElementById("country").addEventListener("change", event => {
console.log("Selected country:", event.target.value);
});<select id="country">
<option value="USA">USA</option>
<option value="UK">UK</option>
<option value="Canada">Canada</option>
</select><select id="country">
<option value="USA">USA</option>
<option value="UK">UK</option>
<option value="Canada">Canada</option>
</select><select id="country">
<option value="USA">USA</option>
<option value="UK">UK</option>
<option value="Canada">Canada</option>
</select>Using JavaScript, forms can be auto-filled dynamically.
document.getElementById("autoFill").addEventListener("click", () => {
document.getElementById("username").value = "JohnDoe";
document.getElementById("email").value = "john@example.com";
});document.getElementById("autoFill").addEventListener("click", () => {
document.getElementById("username").value = "JohnDoe";
document.getElementById("email").value = "john@example.com";
});document.getElementById("autoFill").addEventListener("click", () => {
document.getElementById("username").value = "JohnDoe";
document.getElementById("email").value = "john@example.com";
});<button id="autoFill">Auto-Fill Form</button>
<button id="autoFill">Auto-Fill Form</button>
<button id="autoFill">Auto-Fill Form</button>
JavaScript allows dynamic handling of user input through forms, validation, and event listeners. The next section will focus on Web APIs, including local storage, geolocation, and Fetch API, for interacting with browser capabilities.