 |
Jak vytvářet www stránky -
14. díl
V minulém
díle jsme si ukázali několik základních prvků potřebných k vytvoření
formuláře. Dnes budeme v tomto tématu pokračovat a povíme si o dalších
prvcích, které je možné ve formulářích použít.
Zaškrtávací poleZaškrtávací pole, nebo také zatržítko, je vhodné
použít zejména u dotazů, na něž může uživatel odpovědět více způsoby, nebo
u dotazů, na které lze odpovědět stylem "ano" (políčko je zaškrtnuté) nebo
"ne" (políčko není zaškrtnuté). Definuje se, jak již víme z minulého dílu,
tagem INPUT, jehož parametr type má tentokrát hodnotu
chceckbox. Využitelné jsou zejména následující atributy:
- name - název pro skupinu zaškrtávacích políček (například
dotazujete-li se na oblíbenou příchuť zmrzliny, můžete pro tento účel
použít název zmrzlina). Všechna políčka patřící do stejné skupiny
musí mít hodnotu parametru name stejnou!
- value - hodnota, která je předána skriptu v případě, že
uživatel políčko "zaškrtne" (zůstaneme-li u našeho příkladu se
zmrzlinou, vložíte do parametru value například hodnoty
jahodova, cokoladova, vanilkova atp.). V případě,
že formulář bude odesílán elektronickou poštou, obdrží příjemce jako
výsledky všechna zaškrtnutá políčka ve formátu name=value.
- checked - uvedení tohoto parametru určuje, že vybrané políčko
bude při načtení formuláře implicitně "zaškrtnuté", což je vhodné
zejména v případech, kdy předpokládáte, že většina uživatelů toto
políčko "zaškrtne" (například pokud budete předpokládat, že většina lidí
má ráda čokoládovou zmrzlinu, použijete tag <INPUT type="checkbox"
name="zmrzlina" value="cokoladova" checked>).
- align - zarovnání políčka na stránce (shodné jako u
předcházejících tagů, tedy left, right nebo
center).
Ukažme si tedy, jak vytvořit jednoduchý
formulář, jehož účelem bude zjistit, jaké deníky čtou návštěvníci našich
stránek:  |
 |
|
 |
<B>Které deníky čtete
pravidelně?</B><BR> <FORM ENCTYPE="text/plain"
ACTION="mailto:adresa@server.cz" method=post> <INPUT
type="checkbox" name="deniky" value="mladafronta" chcecked>Mladá Fronta
DNES<BR> <INPUT type="checkbox" name="deniky"
value="blesk">Blesk<BR> <INPUT type="checkbox"
name="deniky" value="pravo">Právo<BR> <INPUT
type="checkbox" name="deniky" value="hn">Hospodářské
noviny<BR> <INPUT type="checkbox" name="deniky"
value="ln">Lidové noviny<BR> <INPUT type="checkbox"
name="deniky" value="dalsi">Další deníky<BR> <INPUT
type="submit" value="Odešli data!"><INPUT type="reset" value="Smaž
formulář!"> <BR> </FORM>
Výsledek pak bude vypadat následovně:
Které deníky čtete pravidelně?
Přepínací polePřepínací pole nebo "radio-button". Původní
anglický název tohoto formulářového prvku vzešel z principu starých rádií,
kde byla tlačítka pro přepínání vlnových délek, přičemž nikdy nebylo možné
mít stisknuté více než jedno tlačítko (v případě, že jste stiskli jiné, to
předchozí "vyskočilo"). Přesně tak fungují přepínací pole ve formulářích -
nikdy nelze zvolit více než jednu jedinou odpověď, takže se tyto prvky
hodí zejména pro otázky typu "co je nejlepší..." a jistě sami najdete řadu
dalších uplatnění. Syntaxe je shodná se zaškrtávacími políčky, liší se
pouze v tom, že parametr type má hodnotu radio. Nebudeme
tedy podrobně rozebírat, jak tento tag zapsat, a podíváme se rovnou na
příklad.
<B>Který deník považujete za
nejlepší?</B><BR> <FORM ENCTYPE="text/plain"
ACTION="mailto:adresa@server.cz" method=post> <INPUT type="radio"
name="deniky" value="mladafronta" chcecked>Mladá Fronta
DNES<BR> <INPUT type="radio" name="deniky"
value="blesk">Blesk<BR> <INPUT type="radio" name="deniky"
value="pravo">Právo<BR> <INPUT type="radio" name="deniky"
value="hn">Hospodářské noviny<BR> <INPUT type="radio"
name="deniky" value="ln">Lidové noviny<BR> <INPUT
type="radio" name="deniky" value="dalsi">Jiný
deník<BR> <INPUT type="submit" value="Odešli
data!"><INPUT type="reset" value="Smaž
formulář!"><BR> </FORM>
Všimněte si, že nelze aktivovat více než jednu položku
Který deník považujete za nejlepší?
V
dokumentu lze definovat více skupin přepínacích polí, vždy si ale dávejte
pozor na název - tlačítka se stejnou hodnotou parametru name se
vzájemně ovlivňují a, jak jsem uvedl výše, není možné, aby bylo aktivní
více než jedno. Při použití více skupin (například budete-li mít více
otázek, na které chcete nabídnout jen jedinou odpověď) je nutné, aby každá
skupina měla svůj vlastní název, tedy name.
Skrytý prvekSkrytý prvek vám umožňuje odesílat ke zpracování
data, která nejsou viditelná a nevyplňuje je uživatel (například máte-li
více formulářů, lze do tohoto prvku zadat název formuláře, který uživatel
vyplnil). Parametr type má hodnotu hidden, atributy jsou
tentokrát důležité jen dva: name, kam zadáte název pole a
value, kam zadáte hodnotu (například <INPUT type="hidden"
name="typ_formulare" value="osobní_dotaznik">.
Textové pole s definovanou velikostíMinule jsme si ukázali, jak
vytvořit textové pole pomocí parametru type=text. Tento způsob
umožňuje vytvářet pole pouze o jediném řádku, což nemusí vždy postačovat.
Pokud například chcete, aby vám uživatelé mohli psát vzkazy, bude
vhodnější vytvořit pro tyto účely větší prostor. K tomu slouží párový
element TEXTAREA, který má následující parametry:
- cols - šířka oblasti zadávaná v počtu znaků
- rows - výška oblasti zadávaná v počtu řádek
- wrap - způsob zalamování zapsaného textu. Hodnota off
znamená, že se text nezalamuje, hodnota virtual že se text
zalamuje pouze na obrazovce, ovšem odeslán je jako jediný řádek a
konečně hodnota physical znamená, že se text zalamuje a odesílá
se včetně znaků zalomení řádku.
<B>Vzkaz pro autora
stránek:</B><BR> <FORM ENCTYPE="text/plain"
ACTION="mailto:adresa@server.cz" method=post><BR> <TEXTAREA
cols=40 rows=4 wrap="virtual"></TEXTAREA><BR> <INPUT
type="submit" value="Odešli vzkaz!"><INPUT type="reset" value="Smaž
vzkaz!"><BR> </FORM>
a v praxi to vypadá následovně:
Vzkaz pro autora stránek:
Pro dnešek si dáme pohov, ale za týden budeme ve formulářích
pokračovat. Do té doby si zkuste vytvo |