) должны находиться внутри
элемента
.Текстовые поля Почти всем формам требуется текстовый
ввод от пользователей, чтобы ввести своё имя, адрес электронной почты, пароль, адрес и др. Текстовые поля формы приходят в разных вариантах.
Хотя эти поля очень похожи и позволяют пользователям вводить текст любого рода (даже неправильный), их тип обеспечивает специфическую семантику
для ввода, определяя, какую информацию поле должно
содержать.
Браузеры могут впоследствии немного изменить интерфейс элемента управления, чтобы повысить интерактивность
или подсказать, какое содержимое ожидается.
К примеру, поле для пароля показывает точки вместо символов. А поле для чисел позволяет увеличивать/уменьшать значение с помощью клавиш вверх и вниз.
placeholder Текстовые поля могут отображать подсказывающий
текст, который исчезнет, как только будет введён некоторый текст.
Если вы начинаете набирать что-то, то увидите как текст «Введите своё имя» исчезнет.
Так как элементы формы сами по себе не очень описательны, им, как правило, предшествует текстовая метка
.
Email
В то время как placeholder
уже обеспечивает некоторую подсказку о том, какое ожидается содержание, метки имеют преимущество оставаясь видимыми в любое время и могут использоваться наряду с другими типами элементов формы, таких как флажки или переключатели.
Хотя вы можете применять короткие абзацы для описания элементов формы, использование
является семантически более правильным, потому что они существуют только в формах.
также может быть связан с определённым элементом формы с помощью атрибута for
, соответствующему значению id
у поля.
Имя
При щелчке по метке фокус переходит к текстовому полю и помещает курсор внутрь него. Пока эта связка кажется бесполезной, но пригодится с флажками и переключателями.
Флажки Флажки
- это элементы формы, которые имеют только два состояния: включено или выключено. Они в основном позволяют пользователю сказать: «Да» или «Нет» для чего-то.
Запомнить меня
Поскольку может оказаться сложно щёлкнуть по небольшому флажку, рекомендуется поместить флажок и его описание внутрь
.
Я согласен с условиями
Вы можете щёлкнуть по тексту «Я согласен с условиями» чтобы переключить флажок.
По умолчанию флажок выключен. Вы можете пометить его включенным, просто используя атрибут checked
.
Использовать мой платёжный адрес
Переключатели Вы можете предоставить пользователю список вариантов
на выбор с помощью переключателей.
Для работы этого элемента формы, ваш HTML-код должен сгруппировать
список переключателей вместе. Это достигается с помощью одного и того же значения для атрибута name:
Семейное положение
Холост
Женат
Разведён
Вдовец
Поскольку все переключатели используют одинаковое значение атрибута name
(в данном случае значение status
), выбор одного из вариантов отменит все остальные. Переключатели являются взаимоисключающими
.
Разница между переключателями и флажками Хотя флажок существует сам по себе
, переключатели могут появляться только в виде списка
(что означает, по меньшей мере два варианта).
Кроме того, щелчок по флажку является произвольным
, в то время как выбор одного из переключателей является обязательным
. Вот почему невозможно выключить переключатель, если выбрать ближайший вариант. В конце концов, всегда выбирается один из переключателей.
Выпадающие меню Если количество вариантов для выбора занимает слишком много места, вы можете воспользоваться выпадающими меню
.
Они работают подобно переключателям, отличается только компоновка.
Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь
Множественный выбор из выпадающего меню Если добавить атрибут multiple
, вы можете предоставить возможность выбрать несколько вариантов.
Какими браузерами вы пользуетесь?
Google Chrome
Internet Explorer
Mozilla Firefox
Opera
Safari
Выберите несколько вариантов посредством удержания Ctrl (или ⌘) и щелчка. Это может быть хорошей альтернативой применению несколько флажков в строке.
Пример: полная форма регистрации
Обращение
Г-н
Г-жа
Имя
Фамилия
Email
Телефон
Пароль
Подтвердите пароль
Страна
Канада
Франция
Германия
Италия
Япония
Россия
Великобритания
США
Я согласен с условиями использования
Зарегистрироваться
Также доступны и другие элементы форм, но мы рассмотрели наиболее используемые.
Здравствуйте, уважаемые читатели блога сайт. В продолжение изучения переходим к рассмотрению тегов form и input с их атрибутами (), с помощью которых можно создавать самые разнообразные формы для сайта.
Какой бы тематики и наполнения не был тот или иной вебресурс, на нем с большой вероятностью будут встречаться формы в том или ином виде: текстовые поля, выпадающие меню, различные кнопки или переключатели. К слову, в одной из публикаций я уже повествовал об элементах, помогающих разнообразить формы .
Каково же практическое предназначение всего разнообразия возможных форм? Прежде всего, они нужны для отправки вводимых пользователем данных на сервер с целью их дальнейшей обработки посредством специально созданного скрипта (обработчика).
HTML формы — как они создаются с помощью form и input
Как я уже сказал вначале, какая-нибудь вебформа, а то и сразу несколько, обязательно должны присутствовать на любом мало-мальски развитом вебсайте. Чтобы понять, насколько они важны в свете соответствия веб-ресурса современным требованиям , достаточно привести вам навскидку тройку объектов, где используются формы, основанные на тегах form и input, которые по одному названию не оставляют сомнений в своей необходимости проекту той или иной направленности:
Если перейдете, к примеру, по ссылке на статью о создании обратной связи (позволяющей всем юзерам отправлять сообщения администрации сайта), то там как раз представлен код HTML с form, который имеет открывающую (
) и закрывающую ( ) часть:
Здесь form играет важнейшую роль, так как инициирует установку вебформы. Сам по себе он не выводит некую область на веб-странице, но служит контейнером, содержащим другие тэги.
В нашем случае (см.скриншот выше) в их число входит несколько input
(этот ХТМЛ тэг является одиночным, иными словами, не имеет закрывающей составляющей), а также textarea
, с разными наборами атрибутов. Каждый из них определяет свой элемент, входящий в форму.
16. Autofocus
(параметры отсутствуют) — логический атрибут, который устанавливает фокус в поле сразу при загрузке вебстраницы, в результате чего можно вводить данные без щелчка по нему кнопкой мышки. Не может быть применен только к input type="hidden".
17. Disabled
(без значений) — отключает для пользователя тот элемент формы, к которому он добавлен. Чаще всего применяется совместно со скриптами, где прописываются условия, при выполнении которых недоступный элемент будет активирован.
18. Form
— связывает элемент с формой, когда он располагается вне контейнера
. Для связки к тэгу form добавляется глобальный атрибут id, а к тегу input — атрибут form , значения которых одинаковы (например, id="data" и form="data").
19. Multiple
(параметров нет) — устанавливает возможность множественного выбора
для пользователя и применяется только совместно с type="file" и type="email".
В случае использования поля для файловой загрузки возможно выбрать сразу несколько файлов с компьютера, задействовав клавиши Ctrl или Shift. Если же выводится поле для ввода адреса электронной почты (type="email"), то вводить эмейлы следует через запятую.
20. Required
(значения отсутствуют) — активирует обязательность внесения данных пользователем. Поэтому браузер блокирует отправку вебформы, если обязательное поле остается пустым и выводит соответствующее сообщение о необходимости его заполнения.
Данный атрибут не используется для графических и стандартных кнопок (type="button | image"), а также для скрытого поля ввода (type="hidden").
21. Size
— определяет ширину текстового поля в знаках (подходит лишь для элементов type с параметрами "email | password | search | tel | text | url"). Значение по умолчанию 20 символов
.
Следующие четыре атрибута (22-25) для тега input несут практически тот же функционал, что и для , но для полноты картины вкратце упомяну и их.
22. Maxlength
— налагает лимит на максимальное количество символов, которое можно вводить при заполнении текстового поля. В случае попытки превысить это ограничение последует блокировка дальнейшего ввода. Этот атрибут применим исключительно для текстовых элементов с type="email | password | search | tel | text | url".
23. Minlength
— накладывает ограничение на минимальное число символов, требуемых ввести в текстовую область. Если последует попытка отправить данные, содержащие меньшее количество знаков, то появится коротенькое сообщение, в котором указано на необходимость дополнить содержание формы и будет дана информация о количестве уже введенных знаков. Условия использования точно такие же, как и в случае с maxlength.
24. Placeholder
— можно поместить подсказку (она и будет служить параметром) прямо в текстовое поле, которая пропадет в тот момент, когда пользователь начнет вводить символы. Только для полей, которые формируются посредством параметров email, password, search, text, tel, url
атрибута type тэга input.
25. Readonly
(параметры отсутствуют) — указывает на то, что предварительно введенный в поле текст доступен только для чтения и копирования. Обычно применяется вместе со скриптами, где прописываются условия, выполнение которых может активировать этот элемент формы.
И в завершение еще несколько атрибутов, дополняющих функционал различных элементов форм:
26. Pattern
— в роли своего значения отражает регулярное выражение , на основании которого задаются правила ввода информации. При этом рекомендуется дополнительно добавить глобальный атрибут title , параметром которого внести разъяснительный текст для помощи юзерам при заполнении полей. Pattern применяется только для элементов email, password, search, text, tel, url. Разберемся на примере. Вот код упрощенной формы регистрации (с ):
Для поля логина (type="text") в качестве значения pattern прописано регулярное выражение {5,}, которое подразумевает использование знаков латинского алфавита, причем введено должно быть не менее пяти символов.
В отношении текстовой области для пароля (type="password") задано значение {8,}, определяющее ввод исключительно латиницы в любом регистре (большие и маленькие буквы), а также цифр, при этом общее количество всех знаков не должно быть меньше восьми.
При нарушении заданных условий ввода браузер не позволит отправить данные и выведет соответствующее предупреждение:
27. Src
— определяет путь до изображения (URL, который является его значением) для отображения графической кнопки "image" (см.таблицу параметров input type выше).
28. Step
— устанавливает шаг для элементов, предусматривающих выбор числовых значений (input type="date | datetime-local | month | number | range | tel | time | week.").
В качестве параметра может принимать любое целое или дробное число. По умолчанию step="1"
. Чтобы установить конечный диапазон ввода, можно опять-таки использовать атрибуты min и max, упомянутые чуть выше. Для наглядности в тестовую форму включим 2 элемента type="number". Для первого выставим step="2", в для второго step="0,1":
29. Value
— устанавливает значение элемента формы, которое будет передано обработчику. На сервер посылается пара «имя-параметр», где имя определяется атрибутом name тега input, а параметр — атрибутом value. При этом для различных элементов формы value будет играть разные роли
:
для type="button | reset | submit" — устанавливает текстовую надпись на кнопках;
для type="checkbox | radio | image" — идентифицирует каждый чекбокс, переключатель или графическую кнопку при отправке и обработке данных на сервере;
для type="password | text" — сразу при загрузке формы в поле выводит предварительный текст, который может быть изменен или полностью удален пользователем;
для type="file" (загрузка файлов) не применяется, поскольку не влияет на этот элемент.
Пример использования для каждого из выше перечисленных вариантов:
Здесь значение атрибута value
определяет следующие составляющие каждого из элементов: выводит текстовый фрагмент для поля type="text" («Ваше имя»), идентифицирует каждый из переключателей ("1" и "2"), установленных с помощью type="radio", а также активирует надпись на кнопке ("Отправить").
Пример создания красивой HTML формы
Далее попробую представить вам образец вебформы, в состав кода которой вошли не только сочетания input type с разными значениями , образующие стандартные текстовые поля и кнопки, но и, например, которые позволяют инициировать наведение фокуса на элемент не только прямым щелчком мышки, но и кликом по тексту.
Обратите внимания, что для получения уникального оформления отдельные компоненты формы помещены в , к каждому из которых с наборами :
Back {max-width:350px; margin:50px auto 0; padding:20px; background:#f3ebe1; font-family:"Oswald", sans-serif;}
.form-1, .form-2, .form-3, .form-4 {padding:15px; border:4px double #909090}
.form-1, .form-2, .form-3 {border-bottom:none}
.form-1 input {display:block; margin-bottom:10px; width:100%}
.in {padding-left:40px}
.in input {width:100%}
..png) no-repeat;background-position:10px 10px}
..png) no-repeat;background-position:10px 10px}
.form-4 input {display:block; height:50px; font-size:24px; width:100%; cursor: pointer}
В результате подобная вебформа приобретает вот такие очертания:
Более полная информация по созданию данной конкретной формы на этой странице
(к слову, там же вы можете не только проверить функциональность отдельных текстовых областей , введя в них данные, но и поэкспериментировать с вебформой, отредактировав HTML-код или/и свойства CSS , полностью либо частично изменив ее внешний вид).
Моей целью было познакомить вас с алгоритмом использования различных значений атрибута type и тега form для создания разнообразных HTML форм на сайте. Надеюсь, задача выполнена. В любом случае, делитесь своими соображениями по этой многообразной теме в комментариях.
Естественно, в последующих публикациях продолжу описание основных тегов гипертекстовой разметки , поэтому не забывайте подписываться на обновление блога посредством e-mail . Также посмотрите для закрепления еще один урок Евгения Попова о создании контактной формы.