Obsah lekce:
Většina lidí se dnes setkalo s formulářem na webu. Nejčastěji to bývá například při zakládání freemailové poštovní schránky na některém ze serverů, které tuto službu poskytují. Do formuláře uživatel vyplní požadované údaje a pokusí se formulář odeslat (většinou kliknutím na stejnojmenné tlačítko). Po kliknutí na toto tlačítko se zadané informace odešlou na server a tam se zpravidla provede jejich kontrola (zda je vyplněno vše potřebné, zda je to vyplněno alespoň trochu smysluplně - v rámci možností počítačového zpracování) a buď se formulář zobrazí znovu s patřičnými instrukcemi a soupisem chybně zadaných údajů nebo dojde ke zpracování zadaných dat a například jejich uložení do databáze na server.
Tvorba webových formulářů sestává ze dvou kroků:
Formulář se do stránky vkládá mezi značky <form> a </form>. Jako atributy tagu form se udávají následující dva:
<form action="zpracujformular.php" method="get">
obsah formuláře (množina textových polí, přepínačů,...)
</form>
Atribut method značky form určuje způsob, kterým se budou z formuláře odesílat data. Kterou metodu zvolíme záleží na nás, ale musíme uvažovat následující:
V první fázi se tedy podívejme na nejpoužívanější formulářové prvky.
<input name="jmeno-textoveho-pole" type="text" value="vlozeny-text" size="20" />
<textarea name="textove-pole-vetsi" cols="30" rows="10">
<input name="zaskrtavaci-poleA" type="checkbox" value="zaskrtnute" checked="checked" />A
<input name="zaskrtavaci-poleB" type="checkbox" value="nezaskrtnute" />B
<input name="vyberove-pole" type="radio" value="A" checked="checked" />A
<input name="vyberove-pole" type="radio" value="B" />B
<input name="vyberove-pole" type="radio" value="C" />C
<select name="seznam">
<option value="A">A</option>
<option value="B" selected="selected">B</option>
<option value="C">C</option>
</select>
Nakonec ještě zmíníme tlačítko pro odeslání formuláře. Toto tlačítko musí být ve formuláři přítomno, aby se vůbec data z formuláře někam odeslala (po stisku tohoto tlačítka v této stránce se odešle formulář obsahující pouze toto tlačítko standardní metodou get současně zobrazené stránce).
<input name="odslat-formular" type="submit" value="Odešli formulář" />
Existují ještě další možné formulářové elementy, ale o nic si postupně povíme později.
Sestavte jednoduchý HTML formulář, který bude sloužit pro registraci uživatele řekněme na nějaký diskusní server. Formulář bude obsahovat následující údaje:
Zvolte vhodné formulářové prvky pro každý z údajů a vyzkoušejte metodu get i post a jejich chování při obnovení stránky po odeslání formuláře (standardně klávesa F5 v prohlížeči). Formulář by mohl vypadat například takto:
Je tento formulář v pořádku?
1. Popište alespoň dvě možnosti zápisu formulářů v HTML (nápověda: tabulky, značka label, značky dl, dt a dd). Ilustrujte jejich použití na předchozím registračním formuláři a diskutujte o vhodnosti jednotlivých řešení.
2. Pokuste se na Internetu najít aktuální online zdroje věnující se stylování formulářu pomocí CSS na různých platformách. Shrňte stručně výsledné informace a uveďte nalezené zdroje. Navrhněte styl pro předchozí registrační formulář.