option в HTML


Содержание
Илон Маск рекомендует:  Шаблон сайта Arrow HTML + CSS

Атрибут size (значение по умолчанию: 0 ) определяет количество одновременно показанных строк.

Атрибут multiple позволяет выбирать несколько пунктов списка.

  1. Вначале указывается первый пункт, затем с зажатой клавишей клавиатуры Ctrl второй и более.
  2. Вначале указывается первый пункт, затем с зажатой клавишей клавиатуры Shift последний. Пункты, находящиеся между ними также будут выделены.

Тут не имеет смысла устанавливать атрибут size меньше 4 , так как выбирать несколько пунктов становится не удобно.

Значение атрибута name при этом пишется с квадратными скобками, что говорит о передачи данных на сервер в виде массива.

Чтобы отправить форму на сервер, у

Атрибут disabled блокирует доступ к

Тег и его атрибуты

Заголовок группы из задаётся атрибутом label у тега . Блокировать доступ к группе пунктов можно с помощью атрибута disabled .

Закрывающийся тег у и не обязателен.

Тег и его атрибуты

Атрибут selected устанавливает сразу (изначально) выбранный вариант ответа.

Можно сказать, что имеет два значения:

  1. то, что видит человек (значение атрибута label или если оно пусто содержимое тега ),
  2. то, что отправляется на сервер (значение атрибута value или если оно пусто содержимое тега ).

Человек видит тот же текст, что оправляется на сервер.

Человек видит содержимое тега , а на сервер отправляется значение value .

Атрибут disabled блокирует доступ к пункту.

3 комментария:

Космо Мизраил Горыныч option value=»» hidden Выбрать /option

Круто! Не знал про такое.
В мозилке можно без shift выбрать несколько пунктов, просто протягивая зажатую кнопку мыши по опшнам.
А вообще, multiple лучше заменять на выпадающий набор checkbox-ов =.=» NMitra Ага, на placeholder похоже получается. Методом проб и ошибок :)

Согласна, только те, кто давно с компьютером на «ты» знают про Shift и Ctrl. Космо Мизраил Горыныч Селекты с multiple могут заменять списки с чекбоксами на телефонах. У меня на виндофоне показывается такой селект на странице примерно так же, как и на компе (но с большими отбивками и ярко-жёлтым фоном выделенного), а при нажатии показывается стандартный, полноэкранный, крупный и удобный. список чекбоксов :D с работающими disabled и optgroup.

Тег определяет параметр в списке выбора.

элементы заходят внутрь или элементов.

Поддержка браузера

Элемент
Да Да Да Да Да

Советы и примечания

Примечание: Тег можно использовать без атрибутов, но обычно требуется атрибут value , указывающий, что отправляется на сервер.

Совет: Если имеется длинный список параметров, можно сгруппировать связанные параметры с тегом

Атрибут selected HTML тега option

Атрибут selected – атрибут-выключатель. Когда он присутствует, он определяет, что пункт списка является активным, т.е. заранее выбранным еще на этапе загрузки страницы.

Активный (выбранный) пункт отображается первым в выпадающем списке.

При помощи JavaScript атрибутом selected можно манипулировать и после того, как страница будет загружена.

В XHTML запрещено сокращать атрибуты, таким образом атрибут selected должен определяться как .

Пример использования атрибута

Выпадающий список с предвыбранным пунктом выбора:

Элементы HTML форм — выпадающий список (теги select, option, optgroup), текстовое поле (textarea), а также применение label, fieldset и legend

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

Сегодня мы разберем, как создавать выпадающие (раскрывающиеся) списки, в том числе со множественным выбором, при помощи select и option, каким образом сконструировать текстовое поле посредством textarea, а также поговорим о возможности расширения функциональности форм путем применения тегов fieldset, label и legend.

Напомню, что любая форма, присутствующая на странице, создается при помощи основного тега form (который часто содержит элемент input) и предназначена для ввода какой-либо информации от пользователя и отправки ее на сервер (пример — форма обратной связи для сайта WP).

К сожалению, средства языка гипертекстовой разметки не позволяют напрямую обрабатывать эту информацию, поэтому с помощью HTML мы создаем лишь внешний вид формы, а необходимые данные отправляются для обработки. С этой целью на вебсервере целенаправленно создается специальный файл, написанный на одном из серверных языков (чаще всего, PHP). Скажем, для обратной связи можно сотворить файлик mail.php, который и будет являться обработчиком.

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

Эта информация крайне необходима, поскольку даже в случае использовании всех современных встроенных в популярные браузеры инструментов разработчиков (напомню, первой ласточкой в реализации этого функционала был плагин Firebug для Мазилы), вы должны четко представлять себе механизм использования основных тегов, тогда редактирование кода HTML, необходимость которого возникает время от времени, превратится в приятное занятие.

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

Выпадающие списки с помощью select, option и optgroup

Рассмотрим создание раскрывающихся списков как одного из вариантов веб-формы на сайте. Все его отдельные элементы формируются при помощи тегов option, которые вложены в контейнер, определяемый тэгом select. Для вариативности есть еще и optgroup, который дает возможность упорядочить список. Все эти варианты мы и разберем ниже.

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

Атрибуты тега select

1. Name — в качестве значения (параметра) этого атрибута нужно добавить название списка (в приведенном примере это «list1») для его идентификации при обработке на сервере:

Ну и весь выпадающий список является одним из вариантов формы, а потому описывается тегом form, к которому добавляются необходимые атрибуты (action, method, name), обеспечивающие его корректное функционирование. С целью визуального показа кнопки для отправки данных на сервер здесь использован тег input с атрибутами «type=»submit»» и «value=»Отправить»». К слову, кнопочку можно оформить и посредством тега button.

2. Multiple — этот атрибут, не имеющий параметров, дает возможность множественного выбора в отличие от выше приведенного примера, где можно выбрать только один элемент (строчку). Попробуйте выделить в данном списке мышкой сразу несколько строк (по одной в любых местах, удерживая клавишу Ctrl, либо посредством Shift следующих подряд одна за одной):

3. Size — устанавливает высоту выпадающего списка, то есть количество отображаемых строк. Если присутствует атрибут multiple, а значение size не указано (как в примере выше), то по умолчанию отображается четыре строки, а, например, при size=»5″ будут видны уже пять:

4. Required [HTML5] (параметров не имеет) — определяет, что обязательно нужно сделать выбор перед отправкой данных обработчику. Если элемент из списка не выбран, то данные формы отправлены не будут:

5. Autofocus [HTML5] (значений не имеет) — устанавливает фокус на список сразу после загрузки страницы. Кроме того, если пользователь привык основную часть действий производить клавишами, то как раз такое предварительно настроенное фокусирование поможет делать выбор из списка посредством стрелок на клавиатуре без всякого использования мышки:

6. Disabled (параметров нет) — блокирует доступ к списку (отключает его). На практике обычно используется вместе со скриптами в тех случаях, когда нужно включать раскрывающийся список только при выполнении определенных условий:

7. Form [HTML5] — осуществляет связь списка с одной или несколькими формами, к которым он принадлежит, но находится вне контейнера . При этом в роли значения атрибута form прописывается параметр глобального атрибута id, который добавлен к тегу form:

Не путайте атрибут тега select и основной тэг для создания формы. В примере выше к тегу form добавлен атрибут , что и позволило связать выпадающий список с конкретной формой.

Атрибуты тега option

1. Value — определяет то значение из выпадающего списка, которое будет отправлено на сервер (обработчику формы). Собственно, обработчику отправляется имя, которое задается атрибутом name тега select, и значение value (для данного примера — 1, 2, 3, 4, 5), соответствующее выбранной строке выпадающего списка:

2. Disabled — блокирует для выбора элемент выпадающего списка.

Как видно из примера, строчка «Option» неактивна и выбрать ее невозможно.

3. Label — отображает текстовое содержание (являющееся его значением) того или иного элемента списка. Если label присутствует, то выводится строчка, тождественная значению этого атрибута и игнорируется текстовое содержание, находящееся внутри тега option. То же самое происходит, ежели содержимое между вовсе отсутствует.

Смотрите. В выше предоставленном примере первая строка для option в коде пустая (в левой части таблицы), но прописан параметр label=»Тег Option», в результате именно этот текст появился в списке (в правой части). Вторая строка кода в качестве содержимого тега option содержит текст «Тег Textarea», но в раскрывающемся списке справа отображается слово «Textarea», совпадающее со значением label=»Textarea».

4. Selected — выделяет текущий пункт выпадающего списка:

Если присутствует атрибут multiple, то есть возможность выделения более одного элемента:

Атрибуты тега optgroup

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

1. Label — устанавливает название каждой группы в качестве параметра:

То же самое, но с multiple и size=»7″ тега select:

2. Disabled (нет значений) — блокирует выбор элементов той группы, по отношению к которой он установлен, причем, неактивные пункты обычно выделены серым цветом:

Небольшой видеоролик будет здесь как нельзя кстати:

Текстовое поле в форме посредством textarea

Еще один элемент формы для сайта, который мы рассмотрим — поле с возможностью ввода в него многострочного текста. Его можно создать с помощью тега textarea. Без атрибутов по умолчанию применение этого тега даст такой результат:

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

Попробуем теперь добавить к первоначальному коду несколько атрибутов с параметрами:

1. Name — определяет имя текстовой области в качестве значения для ее идентификации после отправки данных формы при их обработке на сервере.

2. Cols — ширина поля, которая в роли параметра задается числом стоящих рядом одинаковых символов, размещенных по горизонтали. Значение по умолчанию — 20.

3. Rows — высота текстового поля, определяемое количеством строк. Если число строк текста, вводимого пользователем, окажется больше значения, заданного этим атрибутом, то справа появится вертикальная полоса прокрутки.

4. Maxlength [HTML5] — указывает максимальное количество знаков, которые можно поместить в текстовое поле. При превышении лимита дальнейший ввод будет невозможен.

Ниже представлен пример со всеми выше перечисленными атрибутами, действие каждого из которых вы можете проверить самолично, просто поместив в область текста нужное количество букв и строк (можете просто ввести один и тот же символ несколько раз):

5. Minlength [HTML5] — указывает минимальное число знаков, которые необходимо ввести в текстовую область. Ежели пользователь попытается отправить текст с меньшим количеством символов, то браузер выведет краткое сообщение с информацией, в которой будет содержаться упоминание о необходимости дополнить содержание формы и о том, сколько знаков уже введено.

6. Placeholder [HTML5] — с помощью этого атрибута можно поместить текст в поле, являющийся параметром данного атрибута, который исчезнет, когда пользователь начнет вводить символы:

7. Readonly (без параметров) — ежели к textarea прикрутить данный атрибут, то текстовое поле окажется недоступным для изменения пользователями и будет предназначено только для чтения. Но на него можно навести фокус (подведите курсор к полю и щелкните левой кнопкой мышки), а также выделить и скопировать (частично или полностью) текст:


Еще несколько атрибутов, реализующих дополнительный функционал при заполнении полей:

8. Autoсomplete [HTML5] — указывает, должен ли браузер выдавать подсказки при заполнении формы пользователем на основании ранее вводимых данных и дает возможность автоматически вставлять подходящий текст.

Имеет всего два параметра: on (включен) и off (выключен). Вот пример кода:

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

9. Wrap [HTML5] — устанавливает для браузера правила переноса строк в текстовой области с помощью трех значений:

Soft — набор символов, который не помещается в поле по ширине, автоматически переносится на новую строчку. При этом обработчику текст будет передан в виде одной строки. В том случае, если пользователь осуществит перенос текста в любом нужном месте с помощью клавиши «Enter», то такой перенос сохраняется при отправке вебформы.

Hard — переносы производятся автоматически, если текст не влезает в поле по ширине, причем, при отправке обработчику места таких переносов будут сохранены. Этот параметр используется только в связке с атрибутом cols:

Off — отключение переносов строк. Если напечатать текстовый фрагмент без механического переноса посредством клавиши «Enter», то весь текст будет помещен в одну строку, причем, появится горизонтальная полоса прокрутки:

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

10. Autofocus [HTML5] (не имеет параметров) — инициирует фокусирование на текстовое поле при загрузке страницы с формой.

11. Disabled — в отличие от атрибута readonly (который также запрещает редактировать содержимое поля, но дает возможность навести на него фокус), полностью блокирует доступ к текстовой области, которая окрашивается обычно в серый цвет:

12. Form [HTML5] — связывает текстовое поле с формой в тех случаях, когда по тем или иным причинам оно расположено вне . Как и в случае с тегом select, связь осуществляется посредством глобального атрибута id для form. При этом параметры id и атрибута form тождественны:

13. Required — определяет, что поле обязательно для заполнения. Если в текстовой области не будет содержимого, при попытке отправки формы на сервер веб-браузер выведет сообщение о необходимости ее заполнения, а форма отправлена не будет. Содержание сообщения зависит от браузера и не может быть изменено.

Еще один видеоролик по созданию текстового поля:

Особенности тега label

По умолчанию элемент формы при щелчке по его текстовой составляющей не активируется. Возьмем сначала в качестве примера список (реализуемый с помощью атрибута type=»checkbox» тега input), нужные строки которого пользователь должен отметить, заполнив соответствующие чекбокс(-ы) галочками. Чтобы поставить галочку, необходимо щелкнуть по флажку мышкой, но клик по расположенному рядом тексту будет безрезультатным. Можете попробовать ниже:

Именно тег label позволяет реализовать активацию какого-либо элемента при клике по его названию. Есть 2 способа, с помощью которых можно связать элемент формы HTML и текст.

1 способ. Необходимо применить идентификатор id внутри элемента формы и указать его имя в качестве значения атрибута for тега label:

2 способ. Элемент формы поместить внутрь контейнера, созданного тегом label:

Теперь можете кликнуть не только по самой форме, но и по тексту, расположенному рядом. Итог будет идентичным. Другим примером может служить форма для ввода текста (создаваемая с помощью атрибута type=»text» того же input), где активация (помещение курсора в текстовое поле) будет происходить и после щелчка по надписи «Введите текст»:

Введите текст:

Итак, с помощью тега label можно успешно реализовать связывание элементов форм и текста.

Fieldset и legend — группировка элементов формы

Наверное, вы заметили, что на многих веб-сайтах HTML формы бывают разделены на группы. Это можно реализовать посредством fieldset, который является контейнером, где расположены все элементы данной части формы. При этом очень часто в состав содержимого этого тега входит один или несколько тэгов legend, с помощью которых прописываются названия групп.

Давайте в качестве начального примера сформируем одну подгруппу с привлечением атрибута type тега input для создания чекбоксов и в пределах впишем ее название. Ниже в таблице слева находится HTML код для этой формы, а справа — результат его работы:

Какую CMS вы используете?

Обратите внимание, что при использовании fieldset все пространство области его действия по умолчанию для наглядности выделяется специальной рамкой. Выглядит неплохо. Естественно, за счет CSS свойств вид этой рамки можно изменить, а то и вовсе ее убрать. Для тега fieldset существуют три атрибута, влияние которых мы сейчас незамедлительно и разберем:

1. Name [HTML5] — служит для наименования совокупности элементов, объединенных в контейнере . Название (как параметр этого атрибута) применяется в дальнейшем с целью идентификации конкретной группы при обработке формы, в том числе в скриптах, включая JavaScript.

Чтобы наглядно продемонстрировать действие name, заключим данную группу в тег form для корректной работы и добавим кнопку с помощью тега button, прописав к нему параметр HTML события onclick=»form.group1.style.backgroundColor=’#e1dccd'», в котором и присутствует значение этого атрибута. Данное событие позволяет пользователю с помощью созданной кнопочки изменить цвет фона в пределах области формы, заданной тегом fieldset:

2. Disabled [HTML5] — (нет значений) подобно одноименным атрибутам для уже рассмотренных тэгов деактивирует группу элементов (вас ждет неудача при попытке заполнить чекбоксы ниже):

3. Form [HTML5] — связывает вебформу, расположенную отдельно, с конкретной группой. Идентификация реализуется путем установки одинаковых значений form и универсального атрибута ):

Какую CMS вы используете?

Ну а дальше приведу пример кода многообразной формы, куда включены чекбоксы, текстовое поле и радиокнопки:

В веб-браузере такая веб-форма будет выглядеть следующим образом:

Какую CMS вы используете?

Владельцем какого ресурса вы являетесь?

Таким образом, мы рассмотрели те возможности, которые предоставляет использование наиболее распространенных тегов для форм, позволяющих также расширить их функциональность.

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

Как вытащить из тега option значение его value и содержимое одновременно?

Как вы понимаете из заголовка, необходимо добавить в базу данных не только значение value , но и само содержимое тега option , отправив в обработчик формы их одновременно, а дальше все понятно что и как.

Конечно, есть способ в обработчике формы создавать переменную с необходимым значением, но, уверен, существуют способы лучше и «чище»…

2 ответа 2

Можно как то так:

Если будет много селектов, потратьте время на вынос append из цикла.

Осуществляйте дополнительную обработку на сервере. Отправить нужные значения из формы простым способом не получится.

Тег указывать не обязательно. Сам выпадающий список формируется при помощи тега

Пример HTML: применение тега OPTION

Результат. Применение тега OPTION.

Поддержка версиями HTML

Версия: HTML 4.01 HTML 5 XHTML 1.0 XHTML 1.1
Поддержка: Да Да Да Да

Поддержка браузерами

Браузер: Internet Explorer Google Chrome Mozilla Firefox Opera Safari
Версия: 6.0 и выше 2.0 и выше 2.0 и выше 9.2 и выше 3.1 и выше
Поддержка: Да Да Да Да Да

Copyright © 2010-2015 seodon.ru Все права защищены.

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

HTML :: Создание раскрывающихся списков внутри форм

Использование тегов и

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

Атрибуты тега

Элемент ‘select’ также, как и элемент ‘input’, обладает атрибутами: autofocus , disabled , form , required , name , имеющими аналогичное назначение. Их можно посмотреть в нашем справочнике здесь. Кроме того, для указания изначально видимого количества вариантов списка используется атрибут size , который в качестве значения принимает натуральные числа, и логический атрибут multiple , позволяющий выбирать сразу несколько вариантов. Если значение атрибута size больше единицы, но меньше общего количества имеющихся вариантов в списке, то браузер автоматически добавит полосу прокрутки, чтобы было ясно, что имеются еще варианты для выбора.

Использование элемента ‘select’ показано в примере №1.

Пример №1. Использование элемента ‘select’

Атрибуты тега

Элемент ‘option’ также имеет несколько своих атрибутов:

  • value – устанавливает значение пункта списка, которое будет отправлено на сервер или использовано скриптами;
  • disable – блокирует доступ к данному варианту списка; атрибут по умолчанию выключен и значений не принимает;
  • selected – если данный логический атрибут присутствует, то пункт списка будет заранее выделен, при этом пользователь сможет в случае необходимости снять выделение;
  • label – в качестве значения принимает строку, которая представляет собой сокращение основного текста, расположенного между открывающим и закрывающим тегами элемента ‘option’ ; если атрибут label указан, то в списке вариантов выводится его значение, а не основной текст.

Тег и его атрибуты

В случае необходимости группировки некоторых пунктов раскрывающегося списка применяется элемент ‘optgroup’ , который формируется парным тегом (от англ. option group – группа вариантов) и является контейнером для элементов ‘option’ , объединяемых в группу. Элемент имеет два собственных атрибута: disable и label . Первый атрибут является логическим и блокирует доступ к своей группе пунктов списка, а второй – принимает в качестве значения текст, который будет выводиться, как заголовок группы.

Использование элемента ‘optgroup’ показано в примере №2.

Пример №2. Использование элемента ‘optgroup’

Отметим, что элемент ‘optgroup’ не может быть выделен пользователем, по умолчанию отображается полужирным шрифтом, а все пункты списка, расположенные внутри, смещаются вправо относительно своего исходного положения.

Тег и его атрибуты

Еще одним дополнительным элементом, напоминающим раскрывающийся список и введенным в пятой версии HTML , является элемент ‘datalist’ , формирующийся парным тегом (от англ. data list – перечень данных) и представляющий собой контейнер для хранения элементов ‘option’ . Данный элемент создает список вариантов, которые можно выбирать при вводе текста, т.е. используется для автозаполнения. Изначально список скрыт, но после получения текстовым полем фокуса и наборе текста, становится доступным для использования. Элемент имеет только глобальные атрибуты, а используется совместно с элементом ‘input’, у которого имеется для этого атрибут list , принимающий в качестве значения >’datalist’ .

Использование элемента ‘datalist’ показано в примере №3.

Пример №3. Использование элемента ‘datalist’

Как видно из примера, как только была введена буква ‘b’ , сразу же появилась подсказка. Если бы слов, начинающихся на букву ‘b’ было больше, то все они появились бы в качестве вариантов автозаполнения. При вводе второго и последующих символов, в списке останутся только те варианты, которые начинаются на введенную последовательность символов.

Обработка списка формы при помощи PHP. Теги select и option

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

Список. Один вариант выбора

Давайте рассмотрим новый термин «список» (select box), также известный, как «ниспадающий список» или «прокручиваемый список» (как его только не называют). Каждый пункт списка определяется при помощи тега option. Тег option , как и другие элементы ввода, имеет атрибут value , а также текст, заключенный внутри тегов option . Это значит: когда пользователь выберет «Male» , переменной «formGender» ( $_POST[‘formGender’] ) будет присвоено значение «M» .

Выбранное пользователем значение можно узнать при помощи стандартного массива $_POST , также как обычное текстовое поле ввода.

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

Список. Выбираем несколько вариантов

Предположим, вы захотите создать список, которые предоставит пользователю возможность выбрать несколько вариантов.


Ниже представлена HTML разметка:

Отметьте схожесть с группой флажков. Для начала установите атрибут multiple=«multiple» в теге select . Во-вторых, поместите квадратные скобки в конец значения атрибута name . Сейчас нет необходимости делать первый вариант выбора в списке пустым, так как мы просто проверим, выбрал ли пользователь что-нибудь или нет. Чтобы выбрать несколько значений, используйте при кликах клавиши shift и ctrl .

PHP код для обработки данного списка очень схож с php кодом для обработки группы флажков. $_POST[‘formCountries’] возвратит массив из выбранных пользователем значений.

Как обычно, используем isset , чтобы убедиться в том, что пользователь выбрал хоть что-нибудь.

Используем конструкцию switch

Сейчас давайте опять вернемся к списку, в котором присутствует всего один вариант выбора. Наша задача сделать так, чтобы каждому варианту выбора соответствовало строго определенное действие. Конечно, можно использовать инструкцию if , однако она в данном случае способна загрязнить код. Давайте рассмотрим два пути: динамические команды и инструкцию switch .

У каждого из этих двух подходов есть свои плюсы и минусы. Метод основанный на switch ‘е в сущности есть ни что иное, как лаконичная запись ряда конструкций «if» . После ключевого слова case перечисляются возможные варианты значений. В случае совпадения результата вычисления выражения (значение переменной $varCountry ) с каким-либо значением, произойдут действия, записанные далее, вплоть до конструкции break . В нашем случае произойдет переадресация к соответствующей для каждой страны странице. Если ни одна страна найдена не будет, то выведется сообщение «Error» , стоящее за ключевым словом default .

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

Первый метод требует написания большего объема кода, но он и более безопасен, так как он позволяет посредством формы переадресовать пользователя к заранее запрограммированным вариантам, при отсутствии варианта выбора будет выведено сообщение об ошибке и выполнение сценария будет прекращено.

Второй метод более краткий (значительно), зато его безопасность сильно снижена. Так любой пользователь может делать с формой, что хочет, и вводить любое значение, какое пожелает. При использовании второго метода сначала желательно проверить выбранные страны, чтобы застраховать себя от переадресации к «вредной» странице.

По материалам. Надеюсь хоть кому-то поможет)

HTML option Tag

Contents

HTML option: Main Tips

  • HTML specifies the possible options in a drop-down menu.
  • HTML works together with element to create a drop-down menu for users to choose answers.
  • If the option list contains many suggested answers, it is better to divide them into groups with .

Purpose of option

HTML sets suggested answers in element list.

Theory is great, but we recommend digging deeper!
HTML Coding For Beginners Course: Learn HTML in 1 Hour

Attributes for option

selected

Make a specific HTML option selected as soon as the list opens by applying the selected attribute.

disabled

When the opening HTML tag contains the disabled attribute, the option won’t be checkable.

label

HTML option label defines a shorter name for an option. The final option HTML list contains the shortened version.

value

When the opening HTML tag has the value attribute, it indicates the answer to be sent to a server (after an option is selected).

Html формы для сайта — теги Form, Input и Select, Option, Textarea, Label и другие для создания элементов вебформ

Приветствую вас, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня я хочу поговорить о такой неотъемлемой составляющей верстки любого сайта, как HTML формы. Какой бы не был движок вашего сайта (cms), на нем обязательно будут в том или ином виде использоваться формы, созданные с помощью тегов Form и Input, а так же атрибутов и параметров Button, Checked, Value, Checkbox, Radio, Checkbox, Submit.

Ну, и еще можно добавить к этому элементы для создания выпадающих списков и текстовых полей — Select, Option, Textarea, Label, Fieldset, Legend.

Зачем нужны и как работают формы на современных сайтах

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

Так, с обоснованием необходимости изучения этих элементов, думаю, вопросов больше не должно возникнуть, поэтому самое время переходить непосредственно к изучению их возможных вариантов.

Да, хочу еще напомнить, что мы уже успели рассмотреть много материалов на тему языка гипертекстовой разметки, например, узнали принципы формирования цветов в Html, трех видов списков на тегах ul, ol, li, dl) и принципы создания таблиц на тегах Tr, Th, Td, Table.

По своей сути формы состоят из элементов, для создания которых внутри основного контейнера из тегов Form вставляют различные тэги — Checked, Value, Checkbox, Radio, Checkbox, Submit и др. Нам лишь нужно будет расположить ее код в любом удобном для этого месте шаблона сайта, указав с помощью тегов и их атрибутов, как она должна будет выглядеть.

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

Например, в случае «поиска», с помощью атрибута Value можно задать, что именно будет написано на кнопке расположенной рядом с полем для ввода запроса. Данные вводимые в формах должны быть в дальнейшем каким-то образом обработаны.

Например, в случае обратной связи пользователь, после того как заполнит поле со своим именем, введет свой E-mail и текст сообщения, а затем нажмет на кнопку отправки, будет вправе надеяться на отправку данных из формы на E-mail автора сайта. Но реализовать такое с помощью только одного языка гипертекстовой разметки (здесь читайте что такое Html, теги и валидатор W3C), к сожалению, не возможно.

Для этих целей потребуется специальная программа обработчик, которая после нажатия пользователем на кнопку отправки возьмет все данные из полей обратной связи и отправит их на E-mail владельцу ресурса. Какая именно программа будет это делать, вы должны указать сами с помощью атрибута Action.

Обычно программа обработки представляет из себя скрипт, написанный на языке PHP. Поэтому в атрибуте Action тэга Form вы должны будете прописать путь к файлу этого скрипта, лежащего на сервере вашего хостинга. Приведу в качестве примера подписку на RSS ленту моего блога посредством E-mail:

Немного непонятно, наверное, кажется по началу, но, думаю, что все прояснится по мере дальнейшего рассказа.

Теги Form и Input для создания кнопок, чекбоксов и радиокнопок

Любая форма должна быть заключена в открывающий и закрывающий тэги Form. Это своеобразный контейнер для их создания. У этого тега имеется ряд обязательных и необязательных атрибутов:

  1. Name – уникальное имя, которое нужно указывать, если в Html файле, где вы что-то делаете, будет использоваться несколько вебформ
  2. Action – обязательный атрибут указывающий путь к скрипту, которому будут переданы данные из нее для дальнейшей обработки
  3. Method – с помощью него вы можете изменить метод передачи данных из этой вебформы скрипту файла обработчика. Если вы его не укажете, то по умолчанию будет использоваться метод Get, который, собственно говоря, предназначен в основном для переменных и коротких сообщений, и к тому же открытым способом передавая данные через адресную строку браузера. Для передачи данных форм скрипту обработчика все же лучше использовать метод POST, предназначенный специально для передачи текстовых сообщений закрытым способом

Рассмотрим остальные тэги, позволяющие создавать разнообразные вебформы. Самый универсальный – это Input. Внутри него обязательно прописывают атрибут Type, который определяет, что именно будет из себя представлять HTML форма, созданная с помощью этого тэга.

C помощью Input и Type можно создавать следующие элементы:

  1. однострочные текстовые поля (Type=»Text»)
  2. поля для ввода пароля (Type=»Password»)
  3. чекбоксы (Type=»Checkbox»)
  4. радиокнопки (Type=»Radio»)
  5. скрытые поля (Type=»H >Input не имеет закрывающего тега. Что именно будет представлять из себя вебформа, созданная с помощью него, целиком и полностью зависит от параметра указанного в атрибуте Type. Если Type не указан, то по умолчанию будет создано текстовое поле.

Примеры форм, созданных на Input с различными значениями для Type

TEXT Обычное текстовое поле для ввода символов с клавиатуры
PASSWORD Текстовое поле, в котором вводимые символы закрываются звездочками
BUTTON Просто кнопка
SUBMIT Создается кнопка, с помощью которой можно отправить данные в программу обработчика
IMAGE Поле с изображением, при нажатии на которое, данные будут отправлены в обработчик
RADIO Радиопереключатели — следует использовать, если требуется выбрать только один вариант из предложенных Joomla
WordPress
SMF
CHECKBOX CHECKBOX — чекбоксы (можно активировать несколько чекбоксов одновременно) Joomla
WordPress
SMF
FILE Создается кнопка для загрузки файла на сервер
HIDDEN Скрытое поле, которое не отображается, но в файл обработчика данные передаются.
RESET Кнопка для возвращение данных в первоначальное значение (сброса).

Другие атрибуты тэга Input и примеры их использования

Рассмотрим, для чего нужны остальные атрибуты:

  1. Name – в случае, если данные должны быть отправлены в скрипт программы обработчика, то вы должны обязательно указать параметр для атрибута Name. Под этим именем данные, отправленные из формы, будут фигурировать в программе обработчика информации.
  2. Size — с помощью него задается размер поля создаваемой вебформы. Значение указывается в количестве символов, которое сможет поместиться в данном поле. Если Size не указан, то ширина будет принята по умолчанию равной 24 символам
  3. Maxlength — по умолчанию количество символов, которое можно будет ввести в Html форму, не ограничено, но с помощью Maxlength можно задать это ограничение. Больше символов, чем в нем будет указано, вам ввести в поле не удастся
  4. Value — с помощью него можно задать, что именно будет написано по умолчанию в поле или же на кнопке отправки данных
  5. Checked — это атрибут-флаг, который можно вставить в Input для радиокнопок (radio) или же для чекбоксов (checkbox). В этом случае данная радиокнопка или чекбокс будут активными при загрузке страницы с вебформой (в них уже будет стоять галочка)

Теперь давайте рассмотрим все примеры формы с Input. Внешний вид текстового поля похож на вид поля для ввода пароля, поэтому рассмотрим только вариант создания Text, например, для ввода адреса электронной почты:

Теперь давайте рассмотрим создание вебформы с радиокнопками (Radio):

Обратите внимание, что в этой форме два раза используется тег Input – по разу для создания каждой из двух радиокнопок. Причем, в каждом из них прописан атрибут Name с одинаковым значением (rezultat), а значение Value разное (YES и NO).

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

Рассмотрим пример создание вебформы с чекбоксами (Checkbox):

Чекбоксы отличаются от радиокнопок возможностью выбрать сразу несколько вариантов. Name служит для определения в файле обработчика, в каком именно чекбоксе проставлены флажки,а Value — задает то значение, которое будет отослано в обработчик (если Value задан не будет, то в обработчик будет отправлен текст, расположенный рядом с данным чекбоксом).

Select, Option, Textarea, Label, Fieldset, Legend — выпадающие списки, текстовые области и другие элементы вебформ

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

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

Причем, все составляющие ее элементы (вроде Select, Option, Textarea, Label, Fieldset, Legend) представляют собой уже законченные заготовки (контейнеры), для вставки которых достаточно будет лишь использовать нужный тег с нужными атрибутами и параметрами.

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

Т.о. получается, что вебформы в Html являются попыткой перенести ключевые элементы, используемые в любой операционной системе, на страницы вебсайта. Но для чего они могут понадобиться на страницах сайта?

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

Хотя, данные можно отправить не только на сервер, но и, например, по электронной почте на адрес, заданный в атрибуте Action тэга Form. При отправке из Html данных на E-mail у пользователя, заполняющего поля, после нажатия им на кнопку отправки данных, запустится почтовая программа используемая на его компьютере по умолчанию.

Открывающий тег Form в таком случае должен выглядеть примерно так:

Вместе с Textarea можно использовать следующие атрибуты:

  1. Name — вы задаете имя для этого элемента вебформы. Оно будет передано на сервер в программу обработчика данных
  2. Cols — вы можете задать с помощью него ширину создаваемого многострочного поля в символах.
  3. Rows — задаем высоту создаваемого многострочного поля (в строках). Если строк у текста, вводимого пользователем, окажется больше, чем высота многострочного поля для текста, то справа от поля в вебформе появится полоса прокрутки.
  4. Readonly — запрет пользователям на изменение или добавление своего текста в это поле (только для чтения).
  5. Disabled — пользователь, так же как в случае с атрибутом Readonly, не сможет изменить содержимое текстового поля в вебформе, но оно изменит свой цвет на серый, обозначающий его неактивность.

Label — для чего нужен этот Html тэг в форме

Html тег Label позволяет реализовать одну очень интересную возможность в формах, которая имеется в операционных системах. Там, если вы помните, для того чтобы активировать какой-либо элемент, не обязательно щелкать именно по нему, можно щелкнуть и по названию этого элемента — все равно произойдет его активация.

В вебформах по умолчанию этого не происходит — нужно щелкать именно по самому элементу Html формы для его активации. Например, нужно щелкать по флажку, для того чтобы поставить в нем галочку. Щелчок же по тексту рядом с флажком результата не принесет. Попробуйте сами:

Как вы можете убедиться, по тексту щелкать для активации этого элемента бесполезно — нужно щелкать именно по нему самому. Вот именно такое положение вещей и призван исправить тэг Label. Он позволить сделать текст рядом с элементом веб формы кликабельным, что несомненно улучшит юзабилити.

Но как связать элемент Html формы и текст? Для этого нужно дописать в атрибут ID с уникальным параметром, а текст нужно окружить открывающим и закрывающим тэгами Label. И это еще не все. В открывающем теге Label нужно прописать атрибут For, параметр которого должен быть точно таким же, как и у атрибута ID в Html теге элемента формы. Получается примерно так:

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

Fieldset и Legend — разбиваем форму на части

Вы, наверное, часто видели, что большие формы в Html бывают разбиты на группы (Fieldset), которые обведены в рамочку и у каждой такой группы имеется свой заголовок (Legend). Реализуется это с помощью всего двух тэгов: Fieldset и Legend. Они парные, т.е. у них должны быть в обязательном порядке открывающий и закрывающий.

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

Вот пример создания групп с помощью Fieldset и Legend:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL