Пользователи взаимодействуют с формами через управление.
"Контрольное имя" ("control name") управления дается с помощью атрибута name. Сферой действия атрибута name для управления внутри элемента FORM является сам элемент FORM.
Каждое управление имеет два, начальное и текущее, значения, оба из которых являются строками символов. Обратитесь к определению каждого управления для получения информации о начальных значениях и возможных ограничениях для значений, наложенных управлением. В общем, "начальное значение" ("initial value") управления может определяться с атрибутом value элемента управления. Но, начальное значение элемента TEXTAREA дается его содержанием, а начальное значение элемента OBJECT в форме определяется выполнением объекта (т.е. оно лежит вне диапазона этой спецификации).
"Текущее значение" ("current value") управления сначала устанавливается на начальное значение. Поэтому, текущее значение управления может модифицироваться через взаимодействие с пользователем и сценариями.
Начальное значение управления не меняется. Таким образом, когда форма переустанавливается, то каждое текущее значение управления переустанавливается на начальное значение. Если управление не имеет начального значения, то результат переустановки формы для этого управления не определен.
Когда форма предоставляется для обработки, то некоторые управления имеют свои имена, спаренные с их текущим значением, и эта пара предоставляется вместе с формой. Такое управление, для которого предоставляется пара имя/значение, называется успешным управлением (successful control).
Кнопки представления (submit buttons): когда они активируются, то происходит отсылка формы. Форма может содержать больше, чем одну кнопку представления.
Кнопки сброса (reset buttons): когда она активируется, то все управления переустанавливаются на свои начальные значения.
Нажимные кнопки (push buttons): нажимные кнопки не имеют поведения по умолчанию. Каждая нажимная кнопка может иметь клиентские сценарии, связанные с атрибутами событий элемента. Когда событие происходит (например, пользователь нажимает кнопку, отпускает ее и т.д.), то включается связанный с ней сценарий.
Авторам следует определять язык сценариев для сценария нажимной кнопки через объявление сценария по умолчанию (элементом META).
Авторы создают кнопки с элементами BUTTON или элементом INPUT. Обратитесь к определениям этих элементов для получения подробной информации об определении других типов кнопок. Обратите внимание. Авторам следует обратить внимание на то, что элемент BUTTON предлагает более богатые возможности для визуализации, чем элемент INPUT.
checkboxe – "флажки"
Флажки (и селективные кнопки) являются включателями/выключателями, которые пользователь может переключать. Переключатель включен, когда установлен атрибут checked управляющего элемента. Когда форма предоставляется, то только включенное управление – флажки могут становиться успешными.
Несколько флажков в форме могут разделять одно и то же имя управления. Таким образом, флажки позволяют пользователям выбрать несколько значений для такого же свойства. Элемент INPUT используется для создания управления флажков.
radio button – селективные кнопки
Селективные кнопки похожи на флажки, за исключением того, что когда несколько кнопок разделяют одно и то же имя управления, то они взаимно исключаемы: когда одна включена, все другие с одинаковым именем выключены. Элемент INPUT используется для создания управления селективными кнопками.
Если селективная кнопка в наборе, разделяющего одно имя управления, изначально включена, то поведение устройства вывода для выбора, при котором управление изначально включено, не определено. Обратите внимание. Так как существующие реализации управляют этим случаем по-разному, то текущая спецификация отличается от RFC 1866 ([RFC1866] раздел 8.1.2.4), которая формулирует следующее:
Во всех случаях только одна из всех селективных кнопок устанавливается как checked (выбранная). Если ни один из элементов <INPUT> из набора селективных кнопок не определяется как `CHECKED', то устройство вывода должно проверить первую селективную кнопку, т.е. установленную вначале.
Поскольку поведение устройства вывода отличается, то авторам следует обеспечить, чтобы в каждом наборе селективных кнопок, одна изначально была бы включена.
menu – меню
Меню предлагает пользователям варианты (options) для выбора. Элемент SELECT создает меню вместе с элементами OPTGROUP и OPTION.
text input – текстовой ввод
Авторы могут создать два типа управления, которые позволяют пользователю вводить текст. Элемент INPUT создает управление вводом в одну строку, а элемент TEXTAREA создает управление многострочным вводом. В обоих случаях ввод текст становиться текущим значением управления.
file select – выбор файла
Этот тип управления позволяет пользователю выбрать файлы, так чтобы их содержание могло быть передано вместе с формой. Элемент INPUT используется для создания управления выбора файла.
hidden control – скрытое управление
Авторы могут создать управление, которое не визуализируется, но чье значение передается вместе с формой. Авторы обычно используют этот тип управления для сохранения информации между обменами клиент/сервер, которые иначе будут потеряны из-за природы отсутствия своего состояния в процессе HTTP (смотрите [RFC2616]). Элемент INPUT используется для создания скрытого управления.
object control – управление объектом
Авторы могут встраивать групповые объекты в формы так, что связанные значения представляются вместе с другими управлениями. Авторы создают управления объектами элементом OBJECT.
Элементы, используемые для создания управления, обычно появляются внутри элемента FORM, но могут появляться и вне объявления элемента FORM, когда они используются для построения интерфейсов пользователя. Это обсуждается в разделе по внутренним событиям. Обратите внимание, что управления вне форм не могут быть успешными управлениями.