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

  aranea.ru || Спецификация HTML 4.01 | 17. Формы

17. Формы

17.6. Элементы SELECT, OPTGROUP и OPTION

17.6.1. Предварительно выбранные варианты (опции)
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
<!ATTLIST SELECT
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #IMPLIED  -- field name --
  size        NUMBER         #IMPLIED  -- rows visible --
  multiple    (multiple)     #IMPLIED  -- default is single selection --
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
  onchange    %Script;       #IMPLIED  -- the element value was changed --
  >

Начальный тег: обязательный, конечный тег: обязательный

Определение атрибутов для SELECT

name = cdata [CI]
Этот атрибут присваивает имя управлению.
size = number [CN]
Если элемент SELECT присутствует как прокручиваемое окно списка, то этот атрибут определяет количество рядов в списке, которые должны быть видны одновременно. Визуальные устройства вывода не обязательно представляют элемент SELECT как окно списка; они могут использовать другой механизм, например, выпадающее меню.
multiple [CI]
Если установлен этот булевый атрибут, то он позволяет выбор нескольких вариантов. Если не установлен, то элемент SELECT разрешает выбор только одного варианта.

Атрибуты, определенные в другом месте

  • id, class
  • lang, dir
  • title
  • style
  • disabled
  • tabindex
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup

Элемент SELECT создает меню. Каждый выбор, предлагаемый меню, представлен элементом OPTION. Элемент SELECT должен содержать, по крайней мере, один элемент OPTION.

Элемент OPTGROUP позволяет авторам группировать выборы локально. Это, в частности, полезно, когда пользователь должен выбрать из длинного списка вариантов (опций – options); группы связанных выборов легче захватывать и помнить, чем один длинный список вариантов. В HTML 4 все элементы OPTGROUP должны быть определены непосредственно внутри элемента SELECT (т.е. группы не могут вкладываться друг в друга).

17.6.1 Предварительно выбранные варианты (опции)

Предварительно может быть выбрано ноль или несколько опций для пользователя. Устройствам вывода следует устанавливать, какой выбор является предварительно установленным следующим образом:

  • Если ни один элемент OPTION не имеет установленный атрибут selected, то поведение устройства вывода для выбора, какой вариант изначально установлен, неопределенно. Обратите внимание. Так как существующие реализации обращаются с таким случаем по-разному, то текущая спецификация отличается от RFC 1866 ([RFC1866] раздел 8.1.3), которая формулирует:
    Первый вариант (опция) является выбранным до тех пор, пока атрибут SELECTED не будет присутствовать в каком-то элементе OPTION.
    Так как поведение устройств вывода не одинаково, то авторам следует обеспечить, чтобы каждое меню включало предварительно выбранный элемент OPTION по умолчанию.
  • Если один элемент OPTION имеет атрибут selected, то он должен быть предварительно выбранным.
  • Если элемент SELECT имеет установленный атрибут multiple, и больше одного элемента OPTION имеют установленный атрибут selected, то они все должны быть предварительно выбранными.
  • Следующую ситуацию рассматривают как ошибку, если более одного элемента OPTION имеют установленный атрибут selected, а элемент SELECT не имеет установленный атрибут multiple. Устройства вывода могут по-разному обращаться с этой ошибкой, но они не должны устанавливать более одного предварительно выбранного варианта.
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
<!ATTLIST OPTGROUP
  %attrs;                              -- %coreattrs, %i18n, %events --
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  label       %Text;         #REQUIRED -- for use in hierarchical menus --
  >

Начальный тег: обязательный, конечный тег: обязательный

Определение атрибутов для OPTGROUP

label = text [CS]
Этот атрибут определяет название для группы вариантов.

Атрибуты, определенные в другом месте

  • id, class
  • lang, dir
  • title
  • style
  • disabled
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup

Обратите внимание. Исполнителям сообщают, что будущие версии HTML смогут расширять механизм группировки для разрешения вложенных групп (т.е. элементы OPTGROUP смогут вкладываться). Это позволит авторам представлять более широкую иерархию выбора.

<!ELEMENT OPTION - O (#PCDATA)         -- selectable choice -->
<!ATTLIST OPTION
  %attrs;                              -- %coreattrs, %i18n, %events --
  selected    (selected)     #IMPLIED
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  label       %Text;         #IMPLIED  -- for use in hierarchical menus --
  value       CDATA          #IMPLIED  -- defaults to element content --
  >

Начальный тег: обязательный, конечный тег: факультативный

Определение атрибутов для OPTION

selected [CI]
Когда установлен этот булевый атрибут, то он определяет, что этот вариант (option) предварительно выбран.
value = cdata [CS]
Этот атрибут определяет начальное значение управления. Если этот атрибут не установлен, то начальное значение устанавливается для содержания элемента OPTION.
label = text [CS]
Этот атрибут позволяет авторам определять короткое название для варианта, а не содержание элемента OPTION. Когда он определен, то устройствам вывода следует использовать значение этого атрибута, а не содержание элемента OPTION.

Атрибуты, определенные в другом месте

  • id, class
  • lang, dir
  • title
  • style
  • disabled
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup

Когда визуализируют выбор меню, то устройствам вывода следует использовать значение атрибута label элемента OPTION как выбор. Если этот атрибут не определен, то устройствам вывода следует использовать содержание элемента OPTION.

Атрибут label элемента OPTGROUP определяет название для группы выбора.

В следующем примере, мы создаем меню, которое позволяет пользователям выбирать, какой из семи программных компонентов устанавливать. Первый и второй компоненты являются предварительно выбранными, но могут отменяться пользователем. Остальные компоненты не являются предварительно выбранными. Атрибут size формулирует, что меню следует иметь только 4 ряда, даже если пользователь может выбирать из 7 вариантов. Другие варианты следует делать доступными через механизм прокрутки.

Элемент SELECT сопровождается кнопками submit и reset.

<FORM action="http://somesite.com/prog/component-select" method="post">
   <P>
   <SELECT multiple size="4" name="component-select">
      <OPTION selected value="Component_1_a">Component_1</OPTION>
      <OPTION selected value="Component_1_b">Component_2</OPTION>
      <OPTION>Component_3</OPTION>
      <OPTION>Component_4</OPTION>
      <OPTION>Component_5</OPTION>
      <OPTION>Component_6</OPTION>
      <OPTION>Component_7</OPTION>
   </SELECT>
   <INPUT type="submit" value="Send"><INPUT type="reset">
   </P>
</FORM>

Только выбранные варианты (option) будут успешными (с использованием имени управления "компонент - выбран" ("component-select")). Когда ни одна опция не выбрана, то управление является не успешным, и ни имя, ни значения не предоставляются серверу, когда посылается форма. Обратите внимание на то, что, когда установлен атрибут value, то он устанавливает начальное значение управления, иначе это – содержание элемента.

В следующем примере мы используем элемент OPTGROUP для группировки выбора. Следующая разметка:

<FORM action="http://somesite.com/prog/someprog" method="post">
 <P>
 <SELECT name="ComOS">
     <OPTION selected label="none" value="none">None</OPTION>
     <OPTGROUP label="PortMaster 3">
       <OPTION label="3.7.1" value="pm3_3.7.1">PortMaster 3 with ComOS 3.7.1</OPTION>
       <OPTION label="3.7" value="pm3_3.7">PortMaster 3 with ComOS 3.7</OPTION>
       <OPTION label="3.5" value="pm3_3.5">PortMaster 3 with ComOS 3.5</OPTION>
     </OPTGROUP>
     <OPTGROUP label="PortMaster 2">
       <OPTION label="3.7" value="pm2_3.7">PortMaster 2 with ComOS 3.7</OPTION>
       <OPTION label="3.5" value="pm2_3.5">PortMaster 2 with ComOS 3.5</OPTION>
     </OPTGROUP>
     <OPTGROUP label="IRX">
       <OPTION label="3.7R" value="IRX_3.7R">IRX with ComOS 3.7R</OPTION>
       <OPTION label="3.5R" value="IRX_3.5R">IRX with ComOS 3.5R</OPTION>
     </OPTGROUP>
 </SELECT>
</FORM>

приводит к группированию:

  None
  PortMaster 3
      3.7.1
      3.7
      3.5
  PortMaster 2
      3.7
      3.5
  IRX
      3.7R
      3.5R

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

Графическое устройство вывода могло бы вывести это следующим образом:

Это изображение показывает элемент SELECT, выводимый как каскадные меню. Верхняя метка меню показывает текущее выбранное значение (PortMaster 3, 3.7.1). Пользователь раскрыл два каскадных меню, но еще не выбрал новое значение (PortMaster 2, 3.7). Обратите внимание на то, что каждое каскадное меню показывает метку элемента OPTGROUP или OPTION.


← Назад | Вперед →
Copyright © 2006 -  aranea.ru