JavaScript 3. Formuláře

Formuláře, tlačítka a JavaScript

Ilustrativní foto

Jak na JS tlačítka

POZOR

Říkali jsme si v kapitole HTML formuláře, že máme 3 druhy tlačítek:

  1. type="submit" - odesílá data na server, vede k přenačtení stránky (vhodné pro PHP)
  2. type="reset" - maže data formuláře (nebudeme příliš používat)
  3. type="button" - konečně tlačítko vhodné pro JS
POZOR

Pro programování v JS budeme tedy používat výhradně tlačítka typu

<button type="button" id="muj-nazev">Text tlačítka</button>

nebo

<input type="button" id="muj-nazev" value="Text tlačítka">
POZOR

Takovému tlačítku prostě nastavíme funkci (kterou potřebujeme) na událost "click"... a je to.

POZOR

Pro zvídavé:
Z pohledu UX / UI je "hezké" reagovat i na stisknutí klávesy Enter. Zkuste přijít na to jak.

Jak na automatické odeslání formuláře

POZOR

Často můžeme v praxi narazit na případ, že "odesílací tlačítko překáží UX / UI".

Například u formuláře na výběr jazyka bych chtěl změnit jazyk webu okamžitě (bez tlačítka):

HTML kód formuláře je

<form class="form-fields" id="mujForm">
  <label>Vyber si jazyk stránek</label>
  <select name="jazyk" id="jazyk">
    <option value="cz">česky</option>
    <option value="en">english</option>
    <option value="de">deutsch</option>
  </select>
</form>

K dosažení efektu použijeme metodu formuláře submit a událost (change) políčka:

document.querySelector("#jazyk").addEventListener("change", function() {
  document.querySelector("#mujForm").submit() ;
}
  Předchozí stránkaNásledující stránka