Atributy formuláře HTML
Tato kapitola popisuje různé atributy pro <form>
element HTML.
Atribut akce
Atribut action
definuje akci, která má být provedena při odeslání formuláře.
Obvykle jsou data formuláře odeslána do souboru na serveru, když uživatel klikne na tlačítko Odeslat.
V níže uvedeném příkladu jsou data formuláře odeslána do souboru s názvem „action_page.php“. Tento soubor obsahuje skript na straně serveru, který zpracovává data formuláře:
Příklad
Při odeslání odešlete data formuláře na "action_page.php":
<form action="/action_page.php">
<label for="fname">First
name:</label><br>
<input type="text" id="fname" name="fname"
value="John"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe"><br><br>
<input type="submit" value="Submit">
</form>
Tip: Pokud je action
atribut vynechán, akce se nastaví na aktuální stránku.
Cílový atribut
Atribut target
určuje, kde se má zobrazit odpověď přijatá po odeslání formuláře.
Atribut target
může mít jednu z následujících hodnot:
Value | Description |
---|---|
_blank | The response is displayed in a new window or tab |
_self | The response is displayed in the current window |
_parent | The response is displayed in the parent frame |
_top | The response is displayed in the full body of the window |
framename | The response is displayed in a named iframe |
Výchozí hodnota je _self
, což znamená, že se odpověď otevře v aktuálním okně.
Příklad
Zde se odeslaný výsledek otevře na nové kartě prohlížeče:
<form action="/action_page.php" target="_blank">
Atribut metody
Atribut method
určuje metodu HTTP, která se má použít při odesílání dat formuláře.
Data formuláře lze odeslat jako proměnné URL (s method="get"
) nebo jako HTTP post transakce (s method="post"
).
Výchozí metoda HTTP při odesílání dat formuláře je GET.
Příklad
Tento příklad používá metodu GET při odesílání dat formuláře:
<form action="/action_page.php" method="get">
Příklad
Tento příklad používá metodu POST při odesílání dat formuláře:
<form action="/action_page.php" method="post">
Poznámky k GET:
- Připojí data formuláře k adrese URL ve dvojicích název/hodnota
- NIKDY nepoužívejte GET k odesílání citlivých dat! (data odeslaného formuláře jsou viditelná v URL!)
- Délka adresy URL je omezena (2048 znaků)
- Užitečné pro odesílání formulářů, kde si uživatel chce uložit výsledek do záložek
- GET je dobrý pro nezabezpečená data, jako jsou řetězce dotazů na Googlu
Poznámky k POST:
- Připojí data formuláře do těla požadavku HTTP (odeslaná data formuláře se nezobrazují v adrese URL)
- POST nemá žádná omezení velikosti a lze jej použít k odesílání velkého množství dat.
- Odeslané formuláře pomocí POST nelze přidat do záložek
Tip: Vždy použijte POST, pokud data formuláře obsahují citlivé nebo osobní informace!
Atribut automatického doplňování
Atribut autocomplete
určuje, zda má mít formulář zapnuté nebo vypnuté automatické doplňování.
Když je automatické doplňování zapnuto, prohlížeč automaticky doplňuje hodnoty na základě hodnot, které uživatel zadal dříve.
Příklad
Formulář s automatickým doplňováním na:
<form action="/action_page.php" autocomplete="on">
Atribut Novalidate
Atribut novalidate
je booleovský atribut.
Pokud je přítomen, určuje, že data formuláře (vstup) by se při odeslání neměla ověřovat.
Příklad
Formulář s atributem novalidate:
<form action="/action_page.php" novalidate>
HTML cvičení
Seznam všech atributů <form>
Atribut | Popis |
---|---|
přijmout-znakovou sadu | Určuje kódování znaků použité pro odeslání formuláře |
akce | Určuje, kam se mají odeslat data formuláře při odeslání formuláře |
automatické doplňování | Určuje, zda má mít formulář zapnuté nebo vypnuté automatické doplňování |
enctype | Určuje, jak by měla být data formuláře při odesílání na server kódována (pouze pro metodu="post") |
metoda | Určuje metodu HTTP, která se má použít při odesílání dat formuláře |
název | Určuje název formuláře |
novalidovat | Určuje, že formulář nemá být při odeslání ověřen |
rel | Určuje vztah mezi propojeným zdrojem a aktuálním dokumentem |
cílová | Určuje, kde se má zobrazit odpověď přijatá po odeslání formuláře |