Элементы HTML форм — выпадающий список (теги select, option, optgroup), текстовое поле (textarea), а также применение label, fieldset и legend. Выбор из выпадающего списка в HTML Как сделать выбор страницы в html
Поле со списком, называемое еще ниспадающее меню, один из гибких и удобных элементов формы. В зависимости от настроек, в списке можно выбирать одно или несколько значений. Преимущество списка в его компактности и универсальности, список может занимать одну или несколько строк, в нём можно выбирать одно или несколько значений. Поле со списком создается следующим образом.
Тег
Атрибуты тега
Рассмотрим атрибуты тега
, с помощью которых можно изменять представление списка.
multiple
Наличие multiple
сообщает браузеру отображать содержимое элемента
как список множественного выбора. Конечный вид списка зависит от используемого атрибута size
. Если он отсутствует, то высота списка равна количеству пунктов, если значение size
меньше числа пунктов, то появляется вертикальная полоса прокрутки.
Для выбора нескольких значений списка применяются клавиши Ctrl
и Shift
совместно с курсором мыши.
В примере 1 показано создание списка множественного выбора.
Пример 1. Список множественного выбора
HTML5
IE
Cr
Op
Sa
Fx
Список
name
Определяет уникальное имя элемента
. Как правило, это имя используется для доступа к данным через скрипты или для получения выбранного значения серверным обработчиком.
size
Устанавливает высоту списка. Если значение size
равно единице, то список превращается в раскрывающийся. Значение по умолчанию зависит от атрибута multiple
. Если он присутствует, то размер списка равен числу элементов. Когда multiple
нет, то значение атрибута size
равно 1.
Атрибуты тега
Тег
selected
Делает текущий пункт списка выделенным. Если у тега
добавлен атрибут multiple
, то можно выделять более одного пункта.
value
Определяет значение пункта списка, которое будет отправлено на сервер. На сервер отправляется пара «имя/значение», где имя задаётся атрибутом name
тега
, а значение - атрибутом value
выделенных пунктов списка. Значение может как совпадать с текстом пункта, так быть и самостоятельным.
label
Предназначен для указания метки пункта списка, сокращённой по сравнению с текстом внутри
Создание списка показано в примере 2.
Пример 2. Использование списка
HTML5
IE
Cr
Op
Sa
Fx
Список
Группирование элементов списка
При достаточно обширном списке имеет смысл сгруппировать его элементы по блокам, чтобы обеспечить наглядность списка и удобство работы с ним. Для этой цели применяется тег
Пример 3. Группирование элементов списка
HTML5
IE
Cr
Op
Sa
Fx
Список
Результат примера показан на рис. 1.
Рис. 1. Группированный список
Здравствуйте, уважаемые читатели блога сайт. В рамках изучения премудростей в качестве очередной задачи продолжим разбирать подробности создания форм на сайте с помощью соответствующих .
Сегодня мы разберем, как создавать выпадающие (раскрывающиеся) списки
, в том числе со множественным выбором, при помощи select и option, каким образом сконструировать текстовое поле
посредством textarea, а также поговорим о возможности расширения функциональности форм путем применения тегов fieldset, label и legend
.
Напомню, что любая форма, присутствующая на странице, создается при помощи и предназначена для ввода какой-либо информации от пользователя и отправки ее на сервер (пример — ).
К сожалению, средства языка гипертекстовой разметки не позволяют напрямую обрабатывать эту информацию, поэтому с помощью HTML мы создаем лишь внешний вид формы, а необходимые данные отправляются для обработки. С этой целью на вебсервере целенаправленно создается специальный файл, написанный на одном из серверных языков (чаще всего, PHP). Скажем, для обратной связи можно сотворить файлик mail.php, который и будет являться обработчиком.
При практическом использовании полученной в этой публикации информации не забудьте о том, как должна выглядеть , где коды всех видимых элементов страницы, включая формы, всегда находятся в пределах тега body.
Эта информация крайне необходима, поскольку даже в случае использовании всех современных встроенных в инструментов разработчиков (напомню, первой ласточкой в реализации этого функционала был ), вы должны четко представлять себе механизм использования основных тегов, тогда редактирование кода HTML, необходимость которого возникает время от времени, превратится в приятное занятие.
2. Multiple
— этот атрибут, не имеющий параметров, дает возможность множественного выбора в отличие от выше приведенного примера, где можно выбрать только один элемент (строчку). Попробуйте выделить в данном списке мышкой сразу несколько строк (по одной в любых местах, удерживая клавишу Ctrl, либо посредством Shift следующих подряд одна за одной):
3. Size
— устанавливает высоту выпадающего списка, то есть количество отображаемых строк. Если присутствует атрибут multiple, а значение size не указано (как в примере выше), то по умолчанию отображается четыре строки
, а, например, при size="5" будут видны уже пять:
Option Textarea Label Fieldset Legend
4. Required
(параметров не имеет) — определяет, что обязательно нужно сделать выбор перед отправкой данных обработчику. Если элемент из списка не выбран, то данные формы отправлены не будут:
Option Textarea Label Fieldset Legend
5. Autofocus
(значений не имеет) — устанавливает фокус на список сразу после загрузки страницы. Кроме того, если пользователь привык основную часть действий производить клавишами, то как раз такое предварительно настроенное фокусирование поможет делать выбор из списка посредством стрелок на клавиатуре без всякого использования мышки:
6. Disabled
(параметров нет) — блокирует доступ к списку (отключает его). На практике обычно используется вместе со скриптами в тех случаях, когда нужно включать раскрывающийся список только при выполнении определенных условий:
7. Form
— осуществляет связь списка с одной или несколькими формами, к которым он принадлежит, но находится вне контейнера
. При этом в роли значения атрибута form прописывается параметр глобального атрибута id
, который добавлен к тегу form:
Выберите из списка Option Textarea Label Fieldset Legend
Не путайте атрибут тега select и основной тэг для создания формы. В примере выше к тегу form добавлен атрибут id="data", а к select — form="data", что и позволило связать выпадающий список с конкретной формой.
Атрибуты тега option
1. Value
— определяет то значение из выпадающего списка, которое будет отправлено на сервер (обработчику формы). Собственно, обработчику отправляется имя, которое задается атрибутом name тега select, и значение value
(для данного примера — 1, 2, 3, 4, 5), соответствующее выбранной строке выпадающего списка:
Option Textarea Label Fieldset Legend
2. Disabled
— блокирует для выбора элемент выпадающего списка.
Option Textarea Label Fieldset Legend
Как видно из примера, строчка «Option» неактивна и выбрать ее невозможно.
3. Label
— отображает текстовое содержание (являющееся его значением) того или иного элемента списка. Если label присутствует, то выводится строчка, тождественная значению этого атрибута и игнорируется текстовое содержание, находящееся внутри тега option. То же самое происходит, ежели содержимое между вовсе отсутствует.
Тег Textarea Тег Label Тег Fieldset Тег Legend
Смотрите. В выше предоставленном примере первая строка для option в коде пустая (в левой части таблицы), но прописан параметр label="Тег Option", в результате именно этот текст появился в списке (в правой части). Вторая строка кода в качестве содержимого тега option содержит текст «Тег Textarea», но в раскрывающемся списке справа отображается слово «Textarea», совпадающее со значением label="Textarea".
4. Selected
— выделяет текущий пункт выпадающего списка:
Option Textarea Label Fieldset Legend
Если присутствует атрибут multiple, то есть возможность выделения более одного элемента:
Option Textarea Label Fieldset Legend
Атрибуты тега optgroup
Если выпадающий список необходимо как-то упорядочить, например, разделить по группам, то для каждой из этих групп используют контейнер, состоящий из открывающего и закрывающего тегов optgroup, внутри которого содержится часть пунктов выпадающего списка. При этом существуют два атрибута для настройки подобного раскрывающегося списка.
1. Label
— устанавливает название каждой группы в качестве параметра:
Option Textarea Label Fieldset Legend
То же самое, но с multiple и size="7" тега select:
Option Textarea Label Fieldset Legend
2. Disabled
(нет значений) — блокирует выбор элементов той группы, по отношению к которой он установлен, причем, неактивные пункты обычно выделены серым цветом:
Option Textarea Label Fieldset Legend
Небольшой видеоролик будет здесь как нельзя кстати:
Текстовое поле в форме посредством textarea
Еще один элемент формы для сайта, который мы рассмотрим — поле с возможностью ввода в него многострочного текста. Его можно создать с помощью тега textarea. Без атрибутов по умолчанию применение этого тега даст такой результат:
Введите текст:
В поле можно осуществлять переносы строк, при этом текст будет передаваться обработчику на сервер с учетом сделанных переносов. Поле можно растягивать по ширине и длине, захватив мышкой нижний правый угол, который отмечен двумя диагональными полосками.
Попробуем теперь добавить к первоначальному коду несколько атрибутов с параметрами:
1. Name
— определяет имя текстовой области в качестве значения для ее идентификации после отправки данных формы при их обработке на сервере.
2. Cols
— ширина поля, которая в роли параметра задается числом стоящих рядом одинаковых символов, размещенных по горизонтали. Значение по умолчанию — 20
.
3. Rows
— высота текстового поля, определяемое количеством строк. Если число строк текста, вводимого пользователем, окажется больше значения, заданного этим атрибутом, то справа появится вертикальная полоса прокрутки.
4. Maxlength
— указывает максимальное количество знаков, которые можно поместить в текстовое поле. При превышении лимита дальнейший ввод будет невозможен.
Ниже представлен пример со всеми выше перечисленными атрибутами, действие каждого из которых вы можете проверить самолично, просто поместив в область текста нужное количество букв и строк (можете просто ввести один и тот же символ несколько раз):
Введите текст:
5. Minlength
— указывает минимальное число знаков, которые необходимо ввести в текстовую область. Ежели пользователь попытается отправить текст с меньшим количеством символов, то браузер выведет краткое сообщение с информацией, в которой будет содержаться упоминание о необходимости дополнить содержание формы и о том, сколько знаков уже введено.
7. Readonly
(без параметров) — ежели к textarea прикрутить данный атрибут, то текстовое поле окажется недоступным для изменения пользователями и будет предназначено только для чтения. Но на него можно навести фокус (подведите курсор к полю и щелкните левой кнопкой мышки), а также выделить и скопировать (частично или полностью) текст:
Еще несколько атрибутов, реализующих дополнительный функционал при заполнении полей:
8. Autoсomplete
— указывает, должен ли браузер выдавать подсказки при заполнении формы пользователем на основании ранее вводимых данных и дает возможность автоматически вставлять подходящий текст.
Имеет всего два параметра
: on
(включен) и off
(выключен). Вот пример кода:
Данный атрибут со значением «on» работает только тогда, когда в веб-обозревателе конкретного пользователя включено автозаполнение полей формы.
9. Wrap
— устанавливает для браузера правила переноса строк в текстовой области с помощью трех значений:
Soft
— набор символов, который не помещается в поле по ширине, автоматически переносится на новую строчку. При этом обработчику текст будет передан в виде одной строки
. В том случае, если пользователь осуществит перенос текста в любом нужном месте с помощью клавиши «Enter», то такой перенос сохраняется при отправке вебформы.
Введите текст:
Hard
— переносы производятся автоматически, если текст не влезает в поле по ширине, причем, при отправке обработчику места таких переносов будут сохранены. Этот параметр используется только в связке с атрибутом cols
:
Введите текст:
Off
— отключение переносов строк. Если напечатать текстовый фрагмент без механического переноса посредством клавиши «Enter», то весь текст будет помещен в одну строку, причем, появится горизонтальная полоса прокрутки:
Введите текст:
10. Autofocus
(не имеет параметров) — инициирует фокусирование на текстовое поле при загрузке страницы с формой.
11. Disabled
— в отличие от атрибута readonly (который также запрещает редактировать содержимое поля, но дает возможность навести на него фокус), полностью блокирует доступ к текстовой области, которая окрашивается обычно в серый цвет:
Описание
Тег
позволяет создать элемент интерфейса
в виде раскрывающегося списка, а также список с одним или множественным выбором,
как показано далее. Конечный вид зависит от использования атрибута size
тега
, который устанавливает высоту списка.
Ширина списка определяется самым широким текстом, указанным в теге
Синтаксис
Атрибуты
Позволяет перейти к списку с помощью некоторого сочетания клавиш.
Устанавливает, что список получает фокус после загрузки страницы.
Блокирует доступ и изменение элемента.
Связывает список с формой.
Позволяет одновременно выбирать сразу несколько элементов
списка.
Имя элемента для отправки на сервер или обращения через скрипты.
Список обязателен для выбора перед отправкой формы.
Количество отображаемых строк списка.
Определяет последовательность перехода между элементами при нажатии на клавишу Tab
Закрывающий тег
Обязателен.
HTML5
IE
Cr
Op
Sa
Fx
Тег SELECT
В этой статье мы с Вами рассмотрим элементы, которые позволяют создавать раскрывающиеся списки, научимся формировать группы в этих списках, рассмотрим как отключать пункты и даже группы списков, познакомимся с элементом, который позволяет создать многострочное текстовое поле, его в дальнейшем вы можете использовать внутри HTML форм (элемент
Кроме того, мы разместили внутри формы кнопку, которая служит для отправки формы (элемент с типом кнопки "отправка формы": type =
"submit"
).
Результат нашего примера:
Подсказка для текстовой области
И так мы с Вами рассмотрим заключительный пример и перейдем к практическому заданию статьи этого учебника.
Благодаря атрибуту (HTML тега
Текст подсказки скрывается, когда пользователь вводит значение (любой символ) в текстовое поле, если его убрать, то подсказка будет отображена снова.
Рассмотрим пример использования:
Атрибуты placeholder и readonly тега
"Поле доступно только для чтения"
readonly
>
type =
"submit"
name =
"submitInfo"
value =
"отправить"
>
В этом примере мы создали две текстовые области (элемент
), для первой и второй области атрибутом мы задали подсказку для пользователя, которая отображается бледным цветом текста внутри элемента. Для второй текстовой области атрибутом readonly мы указали, что оно будет доступно только для чтения (содержимое не может быть изменено).
Обратите внимание на то, что если текстовое поле доступно только для чтения, то при этом содержимое не может быть изменено, но пользователь при этом может перейти к содержимому, выделить и скопировать его.
Кроме того, мы разместили внутри формы кнопку, которая служит для отправки формы (элемент с типом кнопки "отправка формы": type =
"submit"
).
Результат нашего примера:
Вопросы и задачи по теме
Перед тем как перейти к изучению следующей темы пройдите практическое задание:
Используя полученные знания составьте следующую форму размещения вакансии:
Прежде чем преступить к выполнению задания откройте пример в новом окне и внимательно рассмотрите форму, чтобы повторить все её моменты. Для выполнения задания Вам потребуются знания из статьи . Если вы пропустили её, то вернитесь для её изучения.
После того как вы выполните упражнение проинспектируйте код страницы, открыв пример в отдельном окне, чтобы убедиться, что вы все выполнили правильно.
Очень часто при регистрациях или анкетирования на сайтах, вас просят сделать некий выбор из выпадающего списка
. Например выбрать вашу страну из множества других стран. Все это разные элементы формы, они могут быть и по разному оформлены: от простого HTML5
до сложного CSS3
.
Сегодня мы разберем один из таких примеров оформления поля выбора, применяя HTML/CSS
и иконку Font Awesome
. Но начнем мы как обычно с разметки документа.
HTML-код
Внутри тега select
находятся пункты выпадающего списка option
. В свою очередь теги select
и form
вложены в общий контейнер div
. Тег form
должен присутствовать обязательно, если данные впоследствии будут отправляться на сервер.
Позиционируем контейнер с классом box
в центре окна.
В целом select box
готов и работает, но смотрится он скучно, да и треугольник, в который нужно будет попасть мышкой очень маленький. А если я так подумал, значит и дизайнер так же подумает, надо заранее подготовиться к разным вариантам.
Вероятнее всего дизайнер поставит на место крошечного треугольника - иконку из шрифта Font Awesome
.
Так намного красивее смотрится, а писать код все равно надо верстальщику. Какое здесь может быть решение? Мы не будем трогать HTML-код
, а задействуем псевдо-элемент before
.
Псевдо-элемент before для.box
Первое, что надо сделать - это прописать код иконки и название шрифта "Font Awesome 5 Free"
. Выбираем на сайте fontawesome.com
нужную иконку, обозначающую "выбор" и копируем её код.
Далее позиционируем абсолютно, указываем размеры 50x50, белый цвет у иконки, фон светло-фиолетовый. Задаём очень важное свойство pointer-events: none
. Это значит, что псевдо-элемент before
не является объектом события мыши, а значение none
предлагает событию "выбора мышью" проходить на нижний слой и обращаться к элементу, находящемуся под ним - к тому маленькому треугольнику. Треугольник никуда не исчез, просто он находится под псевдо-элементом before
, служащий лишь украшательством. Кликая по красивой иконке, на самом деле срабатывает "некрасивый" треугольник и мы делаем свой выбор.