Technologie pro publikování na webu 1 Ing. Jiří Štěpánek
Umožňují interaktivitu stránky s uživatelem Slouží k zadání a odeslání dat a informací uživatelem Poskytují řadu různých ovládacích prvků Na stránce jich lze použít větší množství Není možné je navzájem vnořovat ani prolínat Obsah formuláře je možné kontrolovat pomocí skriptu ještě před odesláním (zpravidla validace pomocí JavaScriptu, která je) Odeslaný formulář se zpracuje skriptem na straně serveru
Kostra formuláře Atributy: action URL adresa stránky pro zpracování method metoda odeslání dat - GET / POST (implicitně GET) accept formát souborů, který bude při zpracování akceptován seznam více formátů oddělený čárkou "image/gif,image/jpg" enctype kódování (formát) odchozích dat application/x-www-form-urlencoded, multipart/form-data onsubmit událost v okamžiku odeslání dat Pokud ovládací prvky používáme pouze pro spolupráci se skripty na straně klienta, můžeme tag vynechat!
get (krátké formuláře, bez diakritiky v názvech a hodnotách) hodnoty odesílá jako součást URL adresy (vše se odehrává v jednom přenosovém kroku) vhodná pro krátké formuláře, pokud v názvech a hodnotách není diakritika a nejedná se o citlivé údaje - hodnoty jsou přímo viditelné v URL adrese – NEBEZPEČNÉ post (rozsáhlé formuláře, odesílání souborů, hesel,...) hodnoty odesílá na server v samostatném přenosu vhodné pro rozsáhlé formuláře nebo soubory transakci, v níž se přenášejí parametry lze zabezpečit volá se vždy stejné URL, nezávisle na hodnotách formuláře při reloadu se prohlížeč ptá uživatele, zda souhlasí se znovuodesláním dat
Různé prvky jsou vhodné pro různé činnosti a typy informací Každý ovládací prvek má jedinečné jméno v rámci formuláře Atribut id je na jménu nezávislý !!! Ovládací prvek má vždy nějakou aktuální hodnotu Prvek může mít zadanou i nějakou výchozí hodnotu Práce s ovládacími prvky často spočívá ve využití skriptů na straně klienta (validace, spolupráce mezi prvky) nebo na serveru (nastavování hodnot a plnění nabídek např. hodnotami z DB)
Vstupní prvek – input (vždy nepárový element) type typ ovládacího prvku (text, password, checkbox, radio, submit, reset, button, image, hidden, file) name název prvku (pouze pro účely odesílání formuláře) id identifikátor prvku (identifikace ve stylech, skriptech, …) value výchozí hodnota ovládacího prvku disabled „znepřístupnění“ prvku - nelze měnit jeho hodnotu
Ohraničuje vysunovací nabídku. Obsahem nabídky jsou jednotlivé položky, každá reprezentovaná jedním elementem option Odesílá se vždy hodnota ( value ) vybrané položky Volba 1 Volba 2 Volba 3 Volba 4 Pozor na syntaxi v XHTML (je nutno psát atributy včetně " hodnot " ) multiple="multiple" selected="selected"
size počet viditelných položek nabídky (bez vysunutí) multiple umožňuje označení (výběr) více položek současně optgroup vytvoření skupin uvnitř vysunovací nabídky. Skupiny nelze navzájem vnořovat. Popisek - label - Slouží pro vytváření popisku u formulářového prvku Jméno: jmeno Při tvorbě popisku s pomocí label se bude popisek chovat jako součást ovládacího prvku (např. pro zaškrtnutí checkboxu stačí kliknout na jeho popisek)
Skupina ovládacích prvků (oblast) – - Vizuální seskupení ovládacích prvků s podobným účelem. - Napomáhá zpřehlednění a lepšímu vzhledu formuláře. Pojmenování skupiny prvků - - Vytváří nadpis skupiny, vytvořené pomocí fieldset Přihlášení do systému
Vodorovná svislá čára - podle nastavení atributů (v XHTML pomocí CSS stylu) vytvoří vodorovnou nebo svislou čáru Tvrdá mezera - Non-Breaking-SPace - do textu vloží vždy interpretovanou mezeru tvrdě spojující okolní text při lámání na konci řádku (typické použití po předložkách) - v PSPadu i Homesitu stejně jako ve Wordu: Ctrl+Shift+mezera - v rámci tabulky může reprezentovat „obsah“ prázdné buňky
Interpretuje se v prohlížeči jako odřádkování Nezneužívat k formátování a vytváření místa Smysl má při formátování uvnitř odstavce atd..
Frameset – definice rámů, jednotlivé rámy obsahovaly konkrétní stránky (obsah, hlavička, navigace) V dobách kdy nebylo tolik rozšířené skriptování na straně serveru Zánik hlavně kvůli nemožnosti odkázat na konkrétní stránku tak, aby se zobrazila i s rámy. Dnes tento koncept považujeme za zastaralý a zásadně NEPOUŽÍVÁME!!