| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XHTML formulß°e urΦit∞ znßte. Pou₧φvßte je poka₧dΘ, kdy₧ zadßvßte v²raz k vyhledßnφ, kdy₧ si objednßvßte zbo₧φ nebo kdy₧ se na n∞jakΘm serveru registrujete. Formulß°e zahrnujφ textovß a zaÜkrtßvacφ pole, rolovacφ seznamy, tlaΦφtka... Tak₧e jako u₧ivatelΘ byste ji₧ v∞d∞li, co si pod pojmem XHTML formulß°e p°edstavit. Co ale tyto prvky obnßÜφ z pohledu XHTML?
Zßkladnφ principy
Formulß° je na strßnce ohraniΦen elementem form (konkrΘtn∞ tagy <form> a </form>). Uvnit° tohoto elementu se vyskytujφ ji₧ v²Üe zmφn∞nß textovß a zaÜkrtßvacφ pole, rolovacφ seznamy, tlaΦφtka a takΘ externφ objekty û vÜechny tyto prvky souhrnn∞ naz²vßme ovlßdacφ prvky. Jejich vzhled zßvisφ na prohlφ₧eΦi a operaΦnφm systΘmu u₧ivatele, avÜak v₧dy majφ stejnou funkci.
Krom∞ ovlßdacφch prvk∙ se uvnit° formulß°e samoz°ejm∞ mohou vyskytovat i dalÜφ elementy, na kterΘ jste zvyklφ, jako nadpisy, odstavce, seznamy a podobn∞. Jedin² d∙vod, proΦ je t°eba vyu₧φvat element form, je, aby byly ovlßdacφ prvky uzav°eny v urΦitΘm konkrΘtnφm bloku a dalo se s nimi dßle pracovat.
VÜechny ovlßdacφ prvky, kterΘ se vyskytujφ v takovΘm bloku, tvo°φ formulß°. Formulß°∙ se m∙₧e na strßnce vyskytovat libovolnΘ mno₧stvφ, ale jednotlivΘ formulß°e se nesmφ nachßzet uvnit° sebe (nesmφ b²t navzßjem vno°eny).
Zßkladnφm aspektem formulß°e je, ₧e m∙₧e b²t odeslßn. Tuto akci provede u₧ivatel po tom, co nastavφ jeho ovlßdacφ prvky na p°φsluÜnΘ hodnoty (nap°φklad vyplnφ heslo, e-mail, zvolφ si jednu z nabφzen²ch mo₧nostφ a podobn∞). Po odeslßnφ formulß°e u₧ivatelem vezme prohlφ₧eΦ hodnoty ze vÜech ovlßdacφch prvk∙, kterΘ nßle₧φ k danΘmu formulß°i (le₧φ v danΘm elementu form), a po₧ßdß server o novou strßnku (ta je pro ka₧d² formulß° urΦena atributem elementu form) û k po₧adavku o tuto strßnku navφc p°idß hodnoty ovlßdacφch prvk∙ z danΘho formulß°e.
Strßnka, o kterou si prohlφ₧eΦ takto po₧ßdß, je obvykle generovßna na serveru n∞jak²m skriptem (PHP, ASP a dalÜφ). Ten mß k dispozici vÜechny hodnoty z ovlßdacφch prvk∙ formulß°e a na jejich zßklad∞ strßnku vygeneruje û nap°φklad prohledß databßzi a p°edlo₧φ u₧ivateli strßnku s v²sledky vyhledßvßnφ, ov∞°φ u₧ivatelskΘ jmΘno a heslo a p°edlo₧φ u₧ivateli ·vodnφ strßnku systΘmu...
Spojenφ s klientsk²mi skripty
Prßv∞ popsan² zp∙sob vyu₧itφ formulß°∙ s sebou nese nutnΘ p°echody mezi strßnkami a tφm pßdem i jistΘ zpo₧d∞nφ (ne₧ se poÜle po₧adavek na server a ze serveru se nahraje strßnka s odpov∞dφ). V n∞kter²ch p°φpadech m∙₧e b²t toto chovßnφ zbyteΦnΘ a ne₧ßdoucφ. Proto je mo₧nΘ vyu₧φt formulß°e i ve spojenφ s klientsk²mi skripty, p°φpadn∞ mezi sebou oba zp∙soby kombinovat.
V p°φpad∞, ₧e vyu₧ijete k obsluze formulß°e pouze klientskΘ skripty, u₧ivatel formulß° neodesφlß (tak₧e ani prohlφ₧eΦ neposφlß ₧ßdn² po₧adavek na server), ale mφsto toho se pouze spustφ urΦit² (vßmi dan²) k≤d v n∞jakΘm skriptovacφm jazyku. V prohlφ₧eΦi tedy z∙stane danß strßnka s formulß°em a odezva (zm∞na obsahu Φi zobrazenφ strßnky) je prakticky okam₧itß.
Proto₧e v tomto p°φpad∞ nejsou hodnoty ovlßdacφch prvk∙ odesφlßny na server, m∙₧ete i vypustit element form (nemß ji₧ ₧ßdn² v²znam) a vklßdat ovlßdacφ prvky do k≤du strßnky p°φmo.
Blφ₧e k ovlßdacφm prvk∙m
Ka₧d² ovlßdacφ prvek je urΦen sv²m jmΘnem, kterΘ musφ b²t jedineΦnΘ v rßmci formulß°e, ale ne ji₧ v rßmci dokumentu. To znamenß, ₧e pokud mßte na strßnce dva formulß°e, m∙₧ete u ka₧dΘho z nich pou₧φt ovlßdacφ prvek se stejn²m jmΘnem. Toto jmΘno nemß nic spoleΦnΘho se jmΘnem dan²m atributem id!
Ka₧d² ovlßdacφ prvek mß takΘ svou v²chozφ hodnotu (nap°φklad hodnota ätext k hledßnφô, kterß se pou₧φvß jako v²chozφ u textov²ch polφΦek pro vyhledßvßnφ). Na tu je nastaven po nahrßnφ strßnky, a pokud ji u₧ivatel nezm∞nφ, je tato hodnota pou₧ita i p°i odeslßnφ formulß°e. Tuto hodnotu zßrove≥ prvek zφskß p°i nastavenφ ovlßdacφch prvk∙ formulß°e na v²chozφ hodnoty pomocφ specißlnφho ovlßdacφho prvku. V²chozφ hodnotu, stejn∞ jako jmΘno, nastavujeme my, auto°i dokumentu.
Aktußlnφ hodnota je hodnota, na kterou nastavφ prvek u₧ivatel. Dß se °φci, ₧e po nahrßnφ strßnky do prohlφ₧eΦe je aktußlnφ hodnota prvku nastavena na jeho v²chozφ hodnotu. U₧ivatel ji potom m∙₧e zm∞nit.
Blφ₧e k odesφlßnφ formulß°e
Jak u₧ jsme si °ekli, p°i odeslßnφ formulß°e jsou k po₧adavku o strßnku p°ilo₧eny hodnoty ovlßdacφch prvk∙, p°iΦem₧ jsou v₧dy pova₧ovßny za textovΘ °et∞zce (to je d∙le₧itΘ hlavn∞ pro dalÜφ zpracovßnφ ve skriptech).
Hodnoty ovlßdacφch prvk∙ mohou b²t v po₧adavku o strßnku za°azeny bu∩ jako souΦßst v²slednΘ URI adresy, nebo se mohou nachßzet p°φmo v t∞le po₧adavku û to urΦujete pomocφ jednoho z atribut∙ elementu form. Oba zp∙soby p°edßnφ majφ svß pro a proti, o kter²ch si povφme p°φÜt∞.
P°edchozφ Φlßnky
- XHTML û klientskΘ image-mapy
- XHTML û element img
- XHTML û element object
- XHTML û externφ objekty
- XHTML û seznamy a v²Φty
- XHTML û dalÜφ textovΘ elementy
- XHTML û hlavnφ sΘmantickΘ elementy
- XHTML û nadpisy, informace o autorovi a zm∞ny v dokumentu
- XHTML û element link
- XHTML û odkazy
- XHTML û dalÜφ atributy odkaz∙
- XHTML û t∞lo dokumentu, kontejnery a odstavce
- XHTML û styly, entita %attrs; a shrnutφ
- XHTML û klientskΘ skripty
- XHTML û element meta a jeho pou₧itφ
- XHTML û elementy title a base
- XHTML û zßkladnφ atributy, element head
- XHTML û zßkladnφ struktura dokumentu
- XHTML û pravidla pro chovßnφ interpret∙
- XHTML û k≤dovßnφ dokumentu
- XHTML û typy atribut∙
- XHTML û deklarace prvk∙ XHTML v DTD
- XHTML û dalÜφ prvky XHTML a DTD
- XHTML û zßkladnφ pojmy a prvky
- XHTML û v²voj (X)HTML a jeho mo₧nosti