WML - Элементы управления форм.

Эта статья - продолжение предыдущей статьи, которая посвящана созданию WAP страниц с помощью языка разметки WML

Для того, чтобы создать формы управления в WML, используют специальные тэги, которые соответствуют различным элементам управления:
<input>
<select>
<option>

Ниже опишем каждый тэг подробнее

input

Этот тэг, имеет такой же смысл как и в ХТМЛ и содержит следующие атрибуты:
name — имя переменной.
type — по умолчанию является "text", так же может быть "password".
value — значение переменной.
format — задает маску ввода, по умолчанию является "*M" (форматы масок приведены ниже).
emptyok — показывает может ли поле быть пустым. По умолчанию используется значении emptyok="false".
size и maxlength — задает ширину поля в символах и максимальное число символов на странице. Число символов по умолчанию не ограничено

Форматы масок:


А - Можно вводить любой символ(исключение цифры в верхнем регистре).
а - Разрешается вводить любой символ(исключение цифры в нижнем регистре).
N - Можно вводить любые цифры.
X - Допускается ввод любого символа в верхнем регистре.
x - Можно вводить любой символ в нижнем регистре.
M - Разрешается ввод любого символа(подразумеваеться, что символ будет в верхнем регистре).
m - Можно вводить любой символ(подразумеваеться, что символ будет в нижнем регистре).
*f -Где "f" - любой из масок. Эта запись подразумевает любое (также нулевое) число символов, описываемых маской f. Встречаться может только в конце макси и только один раз.
nf - Где "n" - любая, отличная от нуля, цифра. "f" - число от одного до девяти. Пример, 7X позволяет ввести 7 цифер.
с - Разрешает включить в поле некоторый символ "с". Этот символ будет фиксированным, и пользователь телефона не сможет его поменять.

Примечание
Следует знать, что все не парные тэги должны закрываться слэшем("/"). Наример: <img /> <br /> <input />

select


Этот тэг, имеет такой же смысл как и в ХТМЛ и содержит следующие атрибуты:
name — имя переменной.
value — значение переменной.
title — заголовок списка.
Приведённый список атрибутов содержит лишь наиболее распространённые элементы.

option

Этот тэг содержит ниже преведенные атрибуты:
value — значение переменной.
title — заголовок списка.

Пример формы


Отправить данные из формы можно несколькими(а точнее двумя) путями. Первый из них показан ниже:

<anchor>Ok <go href="/wap/mod/guestbook/insert_db.php" method="post"> <postfield name="name" value="$(name)"/> </go> </anchor>

Тут тэг показывает текст после нажатия на котором идет отправка данных. Различие с тэгом в том, что текст не подчеркивается. Этот способ отправки данных не поддерживается старыми WAP браузерами. Тэг указывает адрес обработчика формы, которому сообщаются данные (аналог form), у postfield есть следующие атрибуты: name - имя параметра value - значение параметра записывается ввиде $(value) Второй способ передачи данных обработчику формы может быть следующим:

<do label="Ok" type="accept"> <go href="/wap/mod/guestbook/insert_db.php" method="post"> <postfield name="name" value="$(name)"/> <postfield name="mess" value="$(mess)"/> <postfield name="trans" value="$(trans)"/> </go> </do>

Тэг <do> указывает на кнопку название которой задано в параметре label, значение type - показывает тип кнопки и может принимать несколько значения: accetp, prev, help.

Примечание


Рекомендуем пользоваться обеими способами отправки данных, так так некоторые WAP браузеры поддерживают только один из приведенных выше способов. В конце статьи приведем пример формы отправки заказа с мобильного телефона:

<?xml version="1.0" encoding="windows-1251"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd" > <wml> <card title="Buy Product"> name <input name="name" size="10" format="m" /> <br/> second name <input name="sname" size="10" format="m" /> <br/> Select Product <select name="product"> <option value="paper"> Paper </option> <option value="pen">Pen</option> <option value="table">Table</option> </select> <br/> <anchor>Ok <go href="product.php" method="post"> <postfield name="name" value="$(name)"/> <postfield name="sname" value="$(sname)"/> <postfield name="product" value="$(product)"/> </go> </anchor> <br/> <do label="Ok" type="accept"> <go href="product.php" method="post"> <postfield name="name" value="$(name)"/> <postfield name="sname" value="$(sname)"/> <postfield name="product" value="$(product)"/> </go> </do> </card> </wml>

Для обработки формы используется product.php:

<?php header("Content-type: text/vnd.wap.wml;charset=windows-1251"); echo '<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'; echo '<wml> <card title="Product">'; echo "Name: $name"; echo "Second Name: $sname"; echo "Select Product: $product"; echo "</card></wml>"; ?>

продажа лодка резиновая самара
Автор - Бешкенадзе А.Г.
Источник - softtime.ru

Советую также почитать: