Существует ли стандартное поведение клиента для отправки пустого выбора? - PullRequest
3 голосов
/ 09 марта 2011

http://www.w3.org/TR/html401/interact/forms.html#edef-SELECT

Не указывает, как должен вести себя клиент, если отправленное выбранное несколько пусто.Кто-нибудь знает, есть ли для этого стандарт?

Ответы [ 2 ]

2 голосов
/ 25 марта 2011

К сожалению, у меня нет времени, чтобы проверить это, но я надеюсь, что следующее может помочь вам ...

Если я не ошибаюсь, первый элемент выбирается по умолчанию при загрузке страницы. Поэтому создайте очень простой HTML-файл с form и select с активным атрибутом multiple и несколькими options. Затем откройте файл и посмотрите, что происходит в нескольких браузерах, таких как Chrome, Firefox, Internet Explorer, Opera и Safari.

Другое дело было бы посмотреть, что HTML5 говорит об этом здесь: http://dev.w3.org/html5/spec/Overview.html#the-select-element.

UPDATE

Стандарт W3C HTML 4.01 утверждает это (прокрутите немного вниз по указанной вами ссылке):

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

Ноль или более вариантов могут быть предварительно выбран для пользователя. Агенты пользователей следует определить, какие варианты предварительно выбран следующим образом:

Если , то ни у одного элемента OPTION не выбран набор атрибутов, поведение агента пользователя для выбирая какой вариант изначально выбрано не определено. Заметка. поскольку существующие реализации обрабатывают это бывает иначе, тока спецификация отличается от RFC 1866 ([RFC1866] раздел 8.1.3), который состояния: исходное состояние имеет выбран первый вариант, если только Атрибут SELECTED присутствует на любом элементов. С пользователя Поведение агента отличается, авторы должны убедитесь, что каждое меню включает в себя предварительно выбранный параметр по умолчанию.

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

1 голос
/ 09 августа 2011

К сожалению, @Alerty ошибается.Если атрибут элемента присутствует в элементе select, но ни один из элементов option не имеет выбранного атрибута, то элемент no выбран по умолчанию.(Проверено на IE 9, FF 5, Chrome 13 и Safari 5 на Win 7.)

Итак, что должен делать веб-браузер, если пользователь ничего не выбирает, а отправляет форму?Он должен делать именно то, что вы ожидаете: отправить без выбора.И это именно то, что говорит текущая версия спецификации HTML5:

"Множественный атрибут является логическим атрибутом. Если атрибут присутствует, то элемент select представляет элемент управления для выбора zero или более параметров из списка параметров. "

http://dev.w3.org/html5/spec/Overview.html#the-select-element

...