Может ли значение опции выбора иметь разные типы?

Я хочу знать, что является хорошей практикой для выбора значений опций.

Пример

<select name="select">
  <option value="0-9">Sample</option>
  <option value="a-z">Sample</option>
  <option value="this is sample value">Sample</option>
  <option value="this-is-sample-value">Sample</option>
  <option value="this_is_sample_value">Sample</option>
  <option value="this & is | sample ** value">Sample</option>
</select>

Я немного запутался здесь. Является ли значение выбора таким же, как input text и textarea

Ответ 1

Нет никаких ограничений для типа данных, которые могут быть установлены в атрибуте value элемента option. Разумеется, символы со специальным значением в HTML должны быть представлены соответствующими сущностями (& как &amp;) (хотя в вопросе встречается исключение "за которым следует пробел" в правило)).

Атрибут определяется как содержащий CDATA:

<!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 --
  >

- http://www.w3.org/TR/html4/interact/forms.html#h-17.6

CDATA - это последовательность символов из набор символов документа и может включают объекты символов. пользователь агенты должны интерпретировать атрибут значения следующие:

  • Заменить символьные сущности символами,
  • Игнорировать линейные каналы,
  • Замените каждый возврат каретки или вкладку одним пространством.

Пользовательские агенты могут игнорировать ведущие и пробел пробела в CDATA значения атрибута (например, "myval" может быть истолковано как "myval" ). Авторы не должны объявлять атрибут значения с верхним или задним белым цветом пространство.

Для некоторых атрибутов HTML 4 с CDATA значения атрибута, спецификация накладывает дополнительные ограничения на набор правовых значений для атрибута, который может не выражаться DTD.

- http://www.w3.org/TR/html4/types.html#type-cdata

Спецификация не налагает дополнительные ограничения для атрибута значения элемента option.

Ответ 2

То же, что и ввод текстового типа - это может быть строка, float и т.д. Это больше вопрос, который наиболее достоверен для анализа при обработке данных формы.

Ответ 3

Выбранное значение будет соответствовать выбранному.

В этом отношении он обрабатывается так же, как текст типа ввода.

Ответ 4

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

Ограничения зависят от технологии, которую вы используете на сервере.

Как и в случае ASP.Net при попытке опубликовать специальные символы, такие как & или особенно <script> некоторая script </script> или аналогичные символы, которые являются частью тегов html или могут быть опасными script. Asp.net проверяет опубликованные данные и генерирует исключение. означает, что некоторые специальные символы не допускаются в значение поля выбора в отношении asp.net

Однако предоставленные вами образцы (за исключением наличия & должны иметь префикс ) и могут быть установлены в атрибуте значения тега параметра.

Надеюсь, ваше понимание построено.