ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || WML - Введение | 11.6.3 Элемент Input

11.6.3 Элемент Input

<!ELEMENT input EMPTY>
<!ATTLIST input
name         NMTOKEN           #REQUIRED
type        (text|password)    "text"
value       %vdata;            #IMPLIED
format      CDATA              #IMPLIED
emptyok     %boolean;          #IMPLIED
size        %number;           #IMPLIED
maxlength   %number;           #IMPLIED
tabindex    %number;           #IMPLIED
title       %vdata;            #IMPLIED
accesskey   %vdata;            #IMPLIED
xml:lang    NMTOKEN            #IMPLIED
%coreattrs;
>

Элемент input определяет объект ввода текста. Ввод пользователя ограничивается комбинацией факультативных атрибутов format и emptyok. Если маска корректного ввода связана с объектом ввода, то устройство вывода должно обеспечить, что любое значение, собранное объектом ввода, согласуется со связанной маской ввода, когда пользователь пытается предоставить значение. Если ввод не согласуется с вводной маской, то устройство вывода не должно фиксировать такой ввод, и должно уведомить пользователя, что ввод отменен и позволяет пользователю повторно отослать новый ввод. В этом случае переменная, определенная в атрибуте name, не должна модифицировать от оригинального значения. Устройство вывода может проверять каждый символ по отношению вводной маске, когда пользователь его вводит.

Все объекты ввода, которые представляют элементы input (и элементы select, если они есть) внутри карт, должны инициализироваться, когда карта выводится, и инициализация должна происходить в порядке, в котором элементы появляются в карте. Инициализация должна осуществляться за два шага:

  • Устройство вывода оценивает начальное значение атрибутов name и value, и если необходимо, то устанавливает или убирает переменную, определенную в атрибуте name (смотрите описание атрибутов ниже).
  • Устройство вывода предварительно загружает начальное значение в объект input (например, выводит начальное значение в объект текстового ввода).

Если пользователь очищает начальное значение объекта input и пытается передать такой ввода, то это рассматривается как подача пустой строки. Устройство вывода должно принимать предоставление пустой строки только тогда, когда маска ввода позволяет пустую строку.

Атрибуты
name=nmtoken
value=vdata

Атрибут name определяет имя переменной для установки результата пользовательского ввода текста. Значение переменной name используется как начальное значение объекта input. Если переменная name содержит значение, которое не согласуется с маской ввода, то устройство вывода должно сбросить переменную и попытаться инициализировать переменную с помощью атрибута value.

Атрибут value указывает на значение по умолчанию переменной, названной атрибутом name. Когда элемент выводится на экран, а переменная, названная в атрибуте name не установлена, то переменной name присваивается значение, установленное в атрибуте value. Если переменная name уже содержит значение, то атрибут value игнорируется. Если атрибут value определяет значение, которое не согласуется с маской ввода, определенной в атрибуте format, то устройство вывода должно игнорировать атрибут value. В случае, когда не может быть установлено корректное значение, переменная name остается не установленной, и ввод должен инициализироваться с пустой строкой.

type= (text | password)

Этот атрибут определяет тип области ввода текста. По умолчанию тип - text. Следующие значения разрешены:

  • text – управление ввода текста. Устройство вывода должно показывать ввод способом, соответствующим устройству вывода и маски ввода. Если предоставляемое значение соответствует существующей маске ввода, то устройство вывода должно сохранять такой ввод без изменения полностью в переменной, названной атрибутом name. Например, устройство вывода не должно усекать ввод, удаляя начальный и конечный пробел в вводе. Если переменная, названная атрибутом name, сброшена, то устройство вывода должно показывать пустую строку в соответствующей манере.
  • password – управление ввода текста. Ввод каждого символа должен выводится в неясной или нечитаемой форме, соответствующей устройству вывода. Например, визуальное устройство вывода может выбрать показ звездочки на месте символа, вводимого пользователем. Обычно, режим ввода password указывается для ввода пароля или других частных данных. Обратите внимание на то, что ввод password не защищен и не должен зависеть для критичных приложений. Схож с типом text, если передаваемое значение согласуется с существующей маской ввода, то устройство вывода должно сохранять ввод без изменения и полностью в переменной, названной атрибутом name. Устройства вывода не должны прятать не форматирующие символы маски ввода. Если переменная, названная атрибутом name, сброшена, то устройство вывода должно выводить пустую строку в соответствующей манере.
format=cdata

Атрибут format определяет маску ввода для ввода пользователя. Строка состоит из символов управления маски и статического текста, который показывается в области ввода. Устройство вывода может использовать маску формата для облегчения ускоренного ввода данных (например, устройство вывода может менять режим ввода в зависимости от кода форматирования текущей позиции вводного курсора). Маска ввода является корректной только тогда, когда она содержит легальные коды форматирования и статичный текст. Устройства вывода должны игнорировать некорректную маску.

Категории символов, как определено в [Unicode]:

  • “Letter” ссылается на категорию символов Lu, Ll, Lm и Lo.
  • “Uppercase letter” ссылается на категории символов Lu и Lm.
  • “Lowercase letter” ссылается на категории символов Ll и Lm.
  • “Numeric character” ссылается к категории символов Nd.
  • “Punctuation” ссылается к категориям символов Pc, Pd, Ps, Pe и Po.
  • “Symbol” ссылается к категориям символов Sm, Sc, Sk и So.

Необходимо чтобы устройства вывода были способны выводить на экран и принимать подмножества вышеуказанных множеств, которые приемлемы для всех языков, которые они поддерживают. Однако, все устройства вывода должны поддерживать графические символы ASCII блока Unicode Basic Latin (U+0020 – U+007E).

Для данного элемента ввода, устройства вывода могут выбирать ограничение набора, допустимых символов, соответствующих текущему языку(ам).

Текущие языки являются супернабором:

  • Текущий язык деки WML, плюс
  • Языки, допустимые устройством вывода, плюс
  • Язык интерфейса устройства вывода.

В языках без регистров коды формата, различаемого между верхним и нижним регистрами, являются эквивалентными.

Символы управления форматом определяют формат данных, ожидаемых для ввода пользователем. Формат по умолчанию является "*M". Коды форматов следующие:

A
ввод любых символов верхнего регистра, символов или пунктуации. Числовые символы исключаются.
A
ввод любых букв нижнего регистра, символы или символы пунктуации. Числовые символы исключатся.
N
ввод любых числовых символов.
N
ввод любых символов – числовых, символьных и пунктуационных.
X
ввод любых букв верхнего регистра, числовых символов, символов или пунктуации.
X
ввод любых букв нижнего регистра, числовые символы, символы, пунктуация.
M
ввод любых символов, корректных в текущем языке, включая любые символы – буквенные, числовые, символьные или пунктуационные. Если язык поддерживает регистр, и аппаратура позволяет ввод верхнего и нижнего регистра, то устройство вывода может выбрать по умолчанию осуществляет ввод в режиме верхнего регистра, но должно позволять ввод любого символа.
M
ввод любого символа, корректного в текущем языке, включая любой символ – буквенный, числовой, символьный или пунктуационный. Если язык поддерживает регистр, и аппаратура позволяет ввод верхнего и нижнего регистра, то устройство вывода может по умолчанию ввод в режиме нижнего регистра, но должно позволять ввод любого символа.
*f
ввод любого числа символов; f является одним из выше указанных кодов формата и определяет, какого типа символы могут вводиться. Обратите внимание: Этот формат может определяться только один раз и должен появляться в конце строки формата.
Nf
ввод до n символов, где n – от 1 до 9; f является одним из выше указанных кодов формата (отличается от кода формата * f) и определяет, какой тип символов можно вводить. Обратите внимание: этот формат может определяться только один раз и должен появляться в конце строки формата.
\c
показ следующего символа, c, в поле ввода; позволяет избегать коды формата, а так же ввода не форматируемых символов, так что они могут выводится на дисплей в области ввода. Отключенные символы рассматриваются как часть значения ввода и должны сохраняться устройством вывода. Например, сохраненное значение ввода "12345-123", имеющее маску "NNNNN\-3N", равно "12345-123", а не "12345123". Похожим образом, если значение переменной, названной атрибутом name, является "12345123", а маска – " NNNNN\ -3 N", то устройство вывода должно отменить переменную, поскольку она не соответствует маске.
emptyok=Boolean

Атрибут emptyok указывает на то, принимает ли этот элемент input пустой вводи или нет. Если emptyok - true, то ввод не требуется, даже если формат маски требует иначе. Если emptyok - false, ввод требуется, даже если маска формата не требует этого.

Если автор не определяет явным образом атрибут emptyok, то атрибут format полностью определяет требование ввода. Подразумеваемое значение атрибута emptyok - “true”, когда атрибут формата позволяет пустой ввод (т.е. маска формата подразумевается или код формата “*f”). Иначе, подразумеваемое значение атрибута - “false”.

Требуется ли или нет ввод, любой данный ввод должен соответствовать спецификации формата. Для следующих элементов ввода, требуется ввод:
<input name=”x” format=”M*M”/> <!-- implied: emptyok=”false” -->
<input name=”x” emptyok=”false”/> <!-- implied: format=”*M” -->
<input name=”x” emptyok=”false” format=”M*M”/>
<input name=”x” emptyok=”false” format=”*M”/>

Для следующих элементов ввода, ввод не требуется:

<input name=”x”/> <!-- implied: format=”*M” emptyok=”true” -->
<input name=”x” format=”*M”/> <!-- implied: emptyok=”true” -->
<input name=”x” emptyok=”true”/> <!-- implied: format=”*M” -->
<input name=”x” emptyok=”true” format=”M*M”/>
<input name=”x” emptyok=”true” format=”*M”/>
size=number

Этот атрибут определяет ширину в символах области ввода текста. Устройства вывода может игнорировать этот атрибут.

maxlength=number

Этот атрибут определяет максимальное количество символов, которые могут вводиться пользователем в области ввода текста. Значение по умолчанию для этого атрибута – неограниченное число символов.

title= vdata

Этот атрибут определяет заголовок для элемента, который может использоваться в презентации этого объекта.

Атрибуты, определенные в другом месте
  • xml:lang (смотрите раздел 8.8)
  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)
  • tabindex (смотрите раздел 11.6.1)
  • accesskey (смотрите раздел 9.8)
← Назад | Вперед →
Copyright © 2006 -  aranea.ru