form.requestSubmit / submit / reset în JavaScript

Formulare, media și canvas Toate browserele (requestSubmit: din 2020)

Trimite un formular din cod (cu sau fără validare și evenimentul submit) sau îl readuce la valorile inițiale.

Sintaxă
form.requestSubmit()
form.submit()
form.reset()

Ce face form.requestSubmit / submit / reset

form.requestSubmit() trimite formularul exact ca un clic pe butonul de trimitere: verifică validarea HTML (required, type="email") și declanșează evenimentul submit, pe care codul tău îl poate intercepta.

form.submit() este varianta veche: trimite direct, fără validare și fără evenimentul submit. form.reset() readuce toate câmpurile la valorile din HTML.

Parametri

Parametru Descriere
buton Opțional, la requestSubmit: butonul considerat apăsat.

Ce returnează

undefined.

Exemple

Exemplul 1: Trimitere la Ctrl+Enter, cu validare

Rezultatul după ce utilizatorul scrie un comentariu și apasă Ctrl+Enter.

const form = document.querySelector("#comentariu");

form.addEventListener("submit", (e) => {
  e.preventDefault();
  console.log("trimis:", new FormData(form).get("text"));
  form.reset();
});

form.addEventListener("keydown", (e) => {
  if (e.ctrlKey && e.key === "Enter") form.requestSubmit();
});

Rezultat în browser

trimis: Articol foarte util!

Greșeli frecvente

  • Folosești form.submit() și ascultătorul de submit nu se mai apelează, iar câmpurile goale obligatorii trec. Folosește requestSubmit().
  • Dai unui buton name="submit" sau id="submit". Butonul ascunde metoda form.submit și primești TypeError: form.submit is not a function.

Comenzi înrudite