Na této stránce se zabývám pouze základní syntaxí formulářů v HTML, což se fakticky týká jen jejich vzhledu.
<form></form> - Chameleon <input> - <select> - <textarea> - Atribut name - Atribut value - Velikosti prvků - Checked a selected
Tag formuláře. Příklad:
<form action="skript.php3"
method="post" target="_blank">
...nějaká vstupní pole + normální html text
...<input type=submit value=odeslat>
</form>
Vypadá to takhle:
Action je vymyšlená, takže to tady nefunguje. Co znamenají jednotlivé atributy:
action obsahuje URL (v tomto případě relativní) na skript, kterému je potom formulář posílán
target určuje cílový rám, ve kterém se budou výsledky zpracovávat. Podobnost s target u odkazů není náhodná. Např. hodnota target="_blank" posílá výsledek do nového okna.
method určuje způsob, kterým budou data odesílána. K dispozici jsou hodnoty GET a POST.
GET je metoda základní (nemusí se zadávat). Data odeslaná metodou GET jsou součástí URL za otazníkem a jsou vidět. Používá se většinou u krátkých formulářů.
Metoda POST je vhodná pro rozsáhlejší vstupy. Data nepřidává do URL (takže nejsou vidět), ale odesílá je jako samostatný HTTP objekt.
Jaký vliv má method na zpracování dat? Některé skripty mezi metodami get a post nečiní rozdíly (např. PHP skripty.) Jiné rozdíly činí (ASP a většina CGI skriptů), ovšem nijak zásadní. Takže je většinou jedno, která metoda se to použije. Doporučuje se postovat vstupy obsahující hesla a dlouhé vstupy, protože get je omezen myslím na 1024 znaků.
Input znamená "vstup". Tag input má mnoho podob. Jednou je to vstupní pole, jindy odesílací políčko, někdy přepínač, jindy odesílací obrázek atd. Všechno to určuje atribut type:
Zkuste si schválně pozměnit hodnoty uvedené výše a odeslat, koukejte, co to provede s dotazem v URL za otazníkem.
V případě odesílacího tlačítka <input type="submit" value="odeslat"> se jeho hodnota (value) odesílá pouze v případě, že uživatel odeslal formulář kliknutím na tlačítko myší. Jestliže formulář odeslal stisknutím enteru, hodnota submitu se neodešle.
Do tabulky se mi nevešel poslední typ <input type="file"
name="soubor">
slouží k zadání cesty k souboru. Nepřenáší se jméno souboru, ale celý soubor. Ke správné funkci vyžaduje určitá nastavení (v definici formuláře: <form enctype="multipart/form-data">). Atribut value nefunguje. Zpracovat přiložený soubor na serveru není žádná sranda (musí se programovat, např. v PHP).
V HTML 5 jsou navrženy nové hodnoty type pro input: color, date, datetime, datetime-local, email, month, number, range, search, tel, time, url a week. Jejich podpora v prohlížečích není v roce 2012 ještě na takové úrovni, aby se tím mělo smysl vůbec zabývat. Příklady nových hodnot input type z HTML 5.
Formálně mám tag input popsán na stránce Input v HTML.
Výběrová nabídka, které se občas říká "select box", "rozbalovací nabídka", "rozbalovací menu" nebo taky "drop-down menu", "combobox", "listbox", "vysouvací menu", "nabídka" nebo prostě menu. Select má různé podoby ovlivňované zejména atributem size.
Pozor, tag <select> je párový!
Oblast pro zapsání většího textu.
Tag <textarea> je také párový. Zkuste si odeslání a sledujte, co se stane.
Velikost textarey se měří na znakové řádky a sloupce, ale dá se přetlouct pomocí CSS. Zalamování řádek při psaní a po odeslání se řídí atributem wrap.
Name je nejdůležitější atribut formulářových tagů. Identifikuje je a posílá své jméno s daty. Symbolicky po odeslání vypadá URL takto:
?jméno=hodnota&jméno2=hodnota2
Příklady odesílání dat si můžete vyzkoušet ve výše uvedených tabulkách. Nebo například v dotazu
?jidlo=jablko&piti=kafe&zvire=ko%E8ka
jsou řetězce jidlo, piti a zvire obsahem atributu name, kdežto jablko, kafe a kočka jsou zadané hodnoty.
Ještě pár zajímavých výjimek:
?obrazek.x=13&obrazek.y=121
?platforma=unix&platforma=linux
Hodnota, obsah polí.
Atributy, jimiž se označuje přednastavené zatržení políčka nebo výběr. Jsou to atributy zvláštní tím, že za nimi není rovnítko s hodnotou.
Checked se dá použít u <input type="checkbox"> a u <input type="radio">.
Selected se dá použít u výběrů <select>.
Pokud jsou tyto atributy použity v jednom výběru nebo přepínači vícekrát, platí jen ten první z nich.
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.