Управление
Управляющими элементами в WML являются элементы "select" и "input". У каждого есть несколько подэлементов, а также механизм группировки, для приведения нескольких относящихся друг к другу элемементов ввода к одной логике. Также тут присутствует атрибут tabindex. этот атрибут определяет последовательность в которой происходит передвижение по элементам.
Элемент
Select
Атрибуты
multiple - по умолчанию равно "off". При включении этого атрибута пользователь может выбрать несколько элементов из предложенного списка.
name - обозначает имя переменной в которой будет храниться значение введенной в этом поле информации.
value - значение элемента по умолчанию.
iname - имя выбранного элемента(ов) списка. Значение "0" означает, что в списке нет элементов. Нумерация элементов списка начинается с "1" и постепенно увеличивается.
ivalue - имя переменной, в которой содержится значение(я) выбранных элементов списка. Несколько значений можно ввести, разделяя их ";", например (1;2) . Нельзя вводить пустое значение переменной. Так значение (1;;2) - неправильно.
title - заголовок. Указывается для того, что бы микроброузер определил тип навигационного элемента.
tabindex - очередь следования этого элемента относительно других. Реализация зависит от броузера.
Элемент:
Option
Атрибуты:
value - значение, присваемое переменной элемента select, в случае выбора этой опции
title - заголовок. В зависимости от микроброузера может не выводиться на экран.
onpick - URL на который пойдет микроброузер, в случае выбора этой опции.
Элемент:
Optgroup
Атрибуты:
title - заголовок. В зависимости от микроброузера может не выводиться на экран.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> Bogus: <select name="bogus"> <optgroup title="one"> <option value="uno">uno</option> <option value="eins">eins</option> </optgroup> <optgroup title="two"> <option value="dos">dos</option> <option value="zwei">zwei</option> </optgroup> </select> </p> </card> </wml> <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <template> <do type="options" label="Back"> <prev/> </do> </template> <card id="lists"> <p> <select title="Pick Lists"> <option onpick="#single">Single</option> <option onpick="#multiple">Multiple</option> </select> </p> </card> <card id="single"> <onevent type="onenterbackward"> <prev/> </onevent> <do type="accept"> <go href="#display_fav"/> </do> <p> Pick your fav Stooge: <select name="fav" title="Stooges"> <option value="Moe">Moe</option> <option value="Shemp">Shemp</option> <option value="Larry">Larry</option> <option value="Curley">Curley</option> <option value="Curley Joe">Curley Joe</option> </select> </p> </card> <card id="multiple"> <onevent type="onenterbackward"> <prev/> </onevent> <do type="accept"> <go href="#display_fav"/> </do> <p> Pick your fav Marx Bro. <select multiple="true" title="Marx Bros" name="fav" > <option value="Groucho">Groucho</option> <option value="Harpo">Harpo</option> <option value="Chico">Chico</option> <option value="Zeppo">Zeppo</option> </select> </p> </card> <card id="display_fav"> <p> Your fav was $fav. </p> </card> </wml>
Элемент:
Input
Атрибуты:
name - то же, что и в элементе select. обозначает имя переменной в которой будет храниться значение введенной в этом поле информации.
value - значение поля по-умолчанию.
type - имеет значение либо "text" либо "password". В зависимости от микроброузера поле типа "password" может отображаться на дисплее видимым текстом.
format - маска ввода.
A - Любая буква в верхнем регистре [A-Z]
a Любая буква в нижнем регистре и пунктуация [a-z]
N - любая цифра [0-9]
X - любой символ в верхнем регистре [A-Z,0-9]
x - любой символ в нижнем регистре [a-z,0-9]
M - любой символ
m - любой символ
*f - любое количество символов определенного формата, например *N -любое количество цифр
nf - "n" это целое число так например "3A" означает 3 буквы в верхнем регистре или пунктуации.
\c - символ ввода, так например "\(3N\)\ \3N\-4N" означает номер телефона с кодом местности в американском формате.
emptytok - разрешает пустой ввод
size - ширина поля ввода. Реализация зависит от броузера.
Maxlength - определяет максимальное количество вводимых.
Title - заголовок, показывается броузером в некоторых случаях. Рекомендуется использовать атрибут title во всех элементах, которые им располагают, потому что в некоторых телефонах заполнение поля ввода реализовано в виде отдельного окошка, при этом title будет выводится в качестве напоминания, какое именно поле в настоящий момент заполняет пользователь.
Элемент:
Fieldset - Использование зависит от микроброузера.
Атрибуты:
title - Заголовок
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <template> <do type="options" label="Back"> <prev/> </do> </template> <card id="fields"> <p> Field Type: <select title="Field type"> <option onpick="#nested">Nested</option> <option onpick="#password">Password</option> </select> </p> </card> <card id="nested"> <onevent type="onenterbackward"> <prev/> </onevent> <do type="accept" label="Done"> <go href="#done"/> </do> <p> First Name: <input title="First" name="fname"/> Last Name: <input title="Last" name="lname"/> Gender: <select title="Gender" name="gender"> <option value="male">Male</option> <option value="female">Female</option> </select> </p> </card> <card id="done"> <p> $fname $lname is a $gender. </p> </card> <card id="password"> <onevent type="onenterbackward"> <prev/> </onevent> <do type="accept" label="Done"> <go href="#passwd_done"/> </do> <p> Input a password:<br/> Min 3 chars. <input title="Password" name="passwd" type="password" format="*m"/> </p> </card> <card id="passwd_done"> <p> Password was $passwd. </p> </card> </wml>