HTML/Formuláře
HTML formulář je konstrukce v HTML dokumentu, která umožňuje uživateli vkládat nějaká data, která mohou být následně odeslána ke zpracování WWW serveru; uživateli se může zobrazit podobně jako klasický úřední formulář s různými políčky k vyplnění, zaškrtnutí apod.
Princip
[editovat]Jednoduchý HTML formulář může vypadat následovně:
<form action="nejake_URL" method="post">
Jméno: <input type="text" name="jmeno" > <br />
muž: <input type="radio" name="sex" value="M"> <br />
žena: <input type="radio" name="sex" value="F"> <br />
<input type="submit" name="ok" value="Odešli">
</form>
Celý formulář je ohraničený párovými značkami <form>...</form>; attribut action obsahuje odkaz na nějaký soubor se skriptem, který po vyplnění našeho formuláře převezme vložené údaje, něco s nimi provede a poté vrátí nějaký výsledek opět ve tvaru nějakého HTML dokumentu.
Formulář obsahuje značky <input>, které reprezentují různé typy zadávaných údajů, v našem ukázkovém případě: nějaký text (type="text"), možnost výběru ze dvou hodnot (type="radio") a tlačítko pro odeslání (type="submit"). Attributy name jsou názvy proměnných, kterým budou přiřazeny odpovídající hodnoty: proměnná "jmeno" obdrží vyplněný text a proměnná "sex" obdrží jednu z hodnot "M" či "F".
Takový formulář se v prohlížeči zobrazí formou prázdného políčka pro vyplnění jména a dvou "čudlíků" na výběr, jestli se jedná o muže či ženu. Pod tím se zobrazí tlačítko s nápisem "Odešli", po jehož odkliknutí si prohlížeč vyžádá stránku s adresou nejake_URL, při kterémžto požadavku odešle proměnné jmeno a sex s uživatelem vyplněnými hodnotami.
Form Builder
[editovat]Vytváření složitějších formulářů mohou usnadňovat různé buildery, tj. generátory příslušného HTML kódu.
Online
[editovat]Buildery na různých serverech – není nutné nic instalovat:
MojoHel
[editovat]Mojolicious Form Builder
Vytváří formulář přetahováním příslušných políček myší.
Perl
[editovat]Perlovské moduly, které generují HTML formuláře – typicky používané jako CGI skripty.
CGI::FormBuilder
[editovat]Vygenerovaný HTML kód obsahuje i JavaScript pro kontrolu obsahu polí. Umožňuje používat i Templates z jiných modulů:
- HTML::Template
- Template
- Text::Template
- CGI::FastTemplate
- CGI::SSI
- CGI::Session