WML v malíčku – formuláře
V dalším článku o WML se naučíme vkládat formuláře do našich stránek a povíme si něco málo o WML scriptu, který, mimo jiné, umožňuje data z formuláře dále využívat.
Formuláře se od těch, které známe z (X)HTML tolik neliší. Jak ale jistě tušíte, existuje ve WML spousta místních specialitek a ani formuláře nejsou výjimkou. Samotný element input ještě tak zvláštní není. Jen nesmíme zapomenout na to, že se pohybujeme v jazyce založeném na XML, takže musíme na konec elementu vložit lomítko <input ... />
. Seznam atributů významných pro prvek input:
name | Název vstupu, povinný atribut, určuje název proměnné, ve které bude obsah pole uložen (viz dále). |
type | Typ vstupu, může být buď text nebo password, výchozí hodnota je text. |
value | Implicitní hodnota = počáteční text ve vstupním poli, který uživatel později změní. |
format | Formát textového pole – viz. tabulka č. 2. |
emptyok | Výchozí hodnota je true, může být přenastavena na true. Pokud je true, může být ponechán obsah textového pole prázdný, pokud je false, musí uživatel zadat do pole alespoň jeden znak. |
size | Velikost vstupního pole – podobně jako v (x)HTML. |
maxlength | Maximální délka textu ve vstupním poli, podobně jako v (x)HTML. |
tabindex | Index pro přeskakování mezi políčky tabulátorem nebo jiným k tomu určeným prvkem (závisí na implementaci prohlížeče a typu mobilního telefonu). |
title | Název vstupu, který se zobrazí uživateli. Slouží pouze jako informace uživateli. |
Pro úplnost ještě přikládám seznam atributů významných pro prvek input:
A | Velké písmeno včetně interpuknčních znamének. |
a | Malé písmeno včetně interpuknčních znamének. |
N | Číslice |
X | Velké písmeno i další znak. |
x | Malé písmeno i další znak. |
M | Písmeno i další znak, počátek editace s velkou znakovou sadou. |
m | Písmeno i další znak, počátek editace s malou znakovou sadou. |
*X | Libovolný počet znaků viz některý z předchozích formátů (X je písmeno označující formát). Za tímto označením již nesmí nic být a nesmí se opakovat. |
nX | n počet znaků viz některý z předchozích formátů (X je písmeno označující formát). Za tímto označením již nesmí nic být a nesmí se opakovat. |
Zde jsou ukázky několika možností zápisu:
<?xml version=“1.0″ encoding=“ISO-8859-2″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“
„http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card title=“Prvky INPUT“>
<p>
<input type=“text“ name=“jmeno“ title=“Jméno“ />
<input type=“text“ name=“prijmeni“ title=“Jméno“ value=“Novák“ />
<input type=“text“ name=“adresa“ title=“Jméno“ format=“*M“ size=“30″ maxlength=“50″ />
<input type=“password“ name=“heslo“ title=“Vaše heslo“ />
</p>
</card>
</wml>
A teď ta opravdová specialitka. Atribut type totiž nelze nastavit na submit. Naštěstí existuje, na můj vkus poněkud kostrbaté, ale přeci jen řešení. To nese název WML script. Údaje ze všech vstupních polí se totiž uchovávají do WMLScriptových proměnných. Tím ztrácí své opodstatnění i element form.
Hodnotu textového pole můžeme vložit kamkoli do dokumentu pomocí jednoduché WMLScriptové konstrukce $(nazevpromenne)
. Pokud tedy budeme chtít text ze vstupního pole hned vypsat na obrazovku, můžeme použít následující kód:
<?xml version=“1.0″ encoding=“ISO-8859-2″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“
„http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card title=“Formular“>
<p>
<input type=“text“ name=“jmeno“ title=“Vaše jméno“ />
$(jmeno) </p>
</card>
</wml>
V praxi ale spíše využijeme vkládání obsahu vstupního pole do odkazu:
<?xml version=“1.0″ encoding=“ISO-8859-2″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“
„http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card title=“Formular“>
<p>
<input type=“text“ name=“jmeno“ title=“Vaše jméno“ />
<a href=“dale.php?jmeno=$(jmeno)“>Pokračujte…</a> </p>
</card>
</wml>
Hodnotu samozřejmě můžeme využít i na jiné kartě daného dokumentu:
<?xml version=“1.0″ encoding=“ISO-8859-2″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“
„http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card title=“Formular“>
<p>
<input type=“text“ name=“jmeno“ title=“Vaše jméno“ />
<a href=“#dvojka“>Pokračujte…</a> </p>
</card>
<card title=“Formular II.“ name=“dvojka“>
<p>
Vaše jméno je $(jmeno) . </p>
</card>
</wml>
Také můžeme obsah všech proměnných při přechodu na kartu vymazat. To se dělá nastavěním atributu newcontext v elementu card na true:
<?xml version=“1.0″ encoding=“ISO-8859-2″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“
„http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card title=“Formular“>
<p>
<input type=“text“ name=“jmeno“ title=“Vaše jméno“ />
<a href=“#dvojka“>Pokračujte…</a> </p>
</card>
<card title=“Formular II.“ name=“dvojka“ nexcontext=“true“>
<p>
Vaše jméno je $(jmeno) . </p>
</card>
</wml>
A na závěr si ještě povíme o elementu select. Je to trochu méně obvyklý typ vstupu, obzvláště na wapu. To ale neznamená že by nenašel své využití. Uživateli v podstatě nabídne něco jako „roletkové menu“, ve kterém si může vybrat jednu položku reprezentovanou pomocí elementů option:
<?xml version=“1.0″ encoding=“ISO-8859-2″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“
„http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card title=“Formular“>
<p>
<select name=“jmeno“> <option value=“Karle“>Karel</option> <option value=“Petře“>Petr</option> <option value=“Ondro“>Odřej</option> <option value=“Honzo“>Jan</option> </select> Ahoj $(jmeno) . </p>
</card>
</wml>
Ukázky ze všech článků najdete na http://wap.podklady/1999-2008.interval.cz/slabikarwml/.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
AI v programování: Jak používat GitHub Copilot (část 2)
19. února 2024 -
Zobrazení příspěvků z Instagramu ve WordPressu
14. října 2022 -
Jak lze snadno upravovat soubory v PDF?
14. září 2023
Nejnovější
-
Jak zvýšit CTR vašeho e-mail marketingu
9. září 2024 -
Znovuuvedení domény .AD
5. září 2024