FormData API
FormData API
Section titled “FormData API”Introduction
Section titled “Introduction”The FormData API provides an easy way to access form field values without querying each input individually.
Basic Usage
Section titled “Basic Usage”const form = document.querySelector('form');
form.addEventListener('submit', async (e) => { e.preventDefault();
const formData = new FormData(form);
// Access values formData.get('username'); // Single value formData.getAll('hobbies'); // Multiple values (checkboxes) formData.has('email'); // Check if field exists
// Iterate for (const [key, value] of formData.entries()) { console.log(key, value); }});Sending as JSON
Section titled “Sending as JSON”form.addEventListener('submit', async (e) => { e.preventDefault();
const formData = new FormData(form); const plainData = Object.fromEntries(formData);
await fetch('/api/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(plainData) });});Adding Extra Data
Section titled “Adding Extra Data”const formData = new FormData(form);formData.append('timestamp', Date.now().toString());formData.append('userId', '123');// These extra fields are sent alongside the form fieldsSummary
Section titled “Summary”new FormData(form)captures all form fieldsget()for single values,getAll()for multiplehas()to check field existenceObject.fromEntries(formData)converts to plain objectappend()to add extra data