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 desubmitnu se mai apelează, iar câmpurile goale obligatorii trec. FoloseșterequestSubmit(). - Dai unui buton
name="submit"sauid="submit". Butonul ascunde metodaform.submitși primeștiTypeError: form.submit is not a function.
Comenzi înrudite
FormData: Strânge câmpurile unui formular (inclusiv fișiere) în perechi nume–valoare, gata de trimis cu fetch.checkValidity / reportValidity / setCustomValidity: Verifică regulile de validare HTML ale unui formular și afișează mesaje de eroare proprii.preventDefault / stopPropagation: preventDefault oprește acțiunea obișnuită a browserului; stopPropagation oprește urcarea evenimentului spre părinți.