Zakázání odeslání formuláře v JavaScriptu
V případě potřeby lze odeslání
formuláře zakázat.
Děje se to pomocí vám již známé metody
preventDefault.
Podívejme se na příklad.
Předpokládejme, že máme následující formulář:
<form action="/handler/" method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Získáme na něj odkaz do proměnné:
let form = document.querySelector('form');
Odeslání formuláře lze zachytit pomocí události
submit:
form.addEventListener('submit', function() {
});
Nyní zakažme odeslání formuláře:
form.addEventListener('submit', function(event) {
event.preventDefault();
});
Je dán formulář se vstupem. Při pokusu o odeslání zkontrolujte, zda byl do vstupu zadán platný email. Pokud ne - zakažte odeslání formuláře a zobrazte o tom zprávu.