Au-delà de bind:value, FormData récupère tous les champs d’un formulaire en une fois, sans connaître chaque input.
- new FormData(form) lit les champs nommés du formulaire.
- form.get('email') renvoie le nom de la valeur ; form.entries() itère tout.
- bind:this sur le formulaire donne l’élément <form> à lire.
src/lib/FormData.sveltesvelte
<script>
let form = $state(undefined)
function envoyer() {
const donnees = new FormData(form)
console.log(donnees.get('email'))
}
</script>
<form bind:this={form} onsubmit={(e) => { e.preventDefault(); envoyer() }}>
<input name='email' type='email' placeholder='Email' />
<input name='nom' placeholder='Nom' />
<button>Envoyer</button>
</form>