Как создать форму в html
Перейти к содержимому

Как создать форму в html

  • автор:

Создание формы

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

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

  1. адрес программы на веб-сервере, которая будет обрабатывать содержимое данных формы;
  2. элементами формы, которые представляют собой стандартные поля для ввода информации пользователем;
  3. кнопку отправки данных на сервер.

Допускается использовать несколько форм на странице, но они не должны вкладываться одна в другую (пример 1).

Пример 1. Ошибочное использование форм

HTML5 IE Cr Op Sa Fx

Формы

Перед отправкой данных браузер подготавливает информацию в виде пары «имя=значение», где имя определяется атрибутом name тега или другим тегом допустимым в форме, а значение введено пользователем или установлено в поле формы по умолчанию. После нажатия пользователем кнопки Submit, происходит вызов обработчика формы, который получает введенную в форме информацию, а дальше делает с ней то, что предполагает разработчик. В качестве обработчика формы обычно выступает программа, заданная атрибутом action тега . Программа может быть написана на любом серверном языке вроде PHP, Python, C# и др.

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

Пример 2. Простая форма

HTML5 IE Cr Op Sa Fx

    Формы  

В качестве значения атрибута action можно указать также адрес электронной почты, начиная его с ключевого слова mailto: . При отправке формы будет запущена почтовая программа, установленная по умолчанию. В целях безопасности в браузере задано, что отправить незаметно информацию, введенную в форме, по почте невозможно. Для корректной интерпретации данных используйте атрибут enctype со значением text/plain в теге (пример 3).

Пример 3. Отправка формы по почте

HTML5 IE Cr Op Sa Fx

    Формы   

Браузеры неоднозначно работают с таким кодом. Firefox предложит список подходящих приложений для отправки почты (рис. 1), Internet Explorer выведет предупреждение (рис. 2) и попытается запустить программу, сопоставленную с почтой, Opera подобно Firefox предложит список вариантов подходящих для отправки почты (рис. 3).

Запуск приложения в Firefox

Рис. 1. Запуск приложения в Firefox

Предупреждение Internet Explorer

Рис. 2. Предупреждение Internet Explorer

Выбор программы в Opera

Рис. 3. Выбор программы в Opera

#13 – Создание HTML форм и полей для ввода

#13 – Создание HTML форм и полей для ввода

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

Видеоурок

Для создания формы обратной связи или же формы комментариев необходимо использовать тег «form» и теги «input». Сперва поля выглядят одинаково, но при добавлении стилей вы сможете преобразить их на свое усмотрение.

Ключевым тегом для создания полей является тег input , который не требует закрывающего тега и выглядит следующим образом:

Для создания разного типа полей необходимо менять значение атрибута «type». Значений для атрибута существует масса и большинство из значений описаны в нашем справочнике здесь .

Создание формы

Тег input не создает форму. Для создания формы или же объединения нескольких «input-тов» необходимо прописать тег form . О нём можно почитать в нашем справочнике здесь .

Для описания полей существует специальный тег label . Он отвечает за надписи к конкретному полю. Также вы можете поместить небольшую надпись в само текстовое поле при помощи атрибута placeholder .

Весь код будет доступен после подписки на проект!

Построение форм

Формы являются неотъемлемой частью Интернета, так как они предлагают сайтам метод сбора информации от пользователей и обработки запросов, а также элементы управления практически для любого мыслимого применения. С помощью элементов управления или полей, формы могут запросить небольшой объём информации — часто это поисковый запрос, имя пользователя или пароль. Или большой объём информации — возможно, данные о посылке, платёжная информация или предложение работы.

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

Инициализация формы

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

К элементу может применяться горстка различных атрибутов, наиболее распространёнными из которых являются action и method . Атрибут action содержит URL, на который информация в форме будет отправлена для обработки сервером. Атрибут method является методом HTTP, который должны использовать браузеры для отправки данных формы. Оба эти атрибута имеют отношение к отправке и обработке данных.

Текстовые поля и текстовые области

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

Текстовые поля

Одним из основных элементов, используемых для получения текста от пользователей, является элемент . Данный элемент включает атрибут type для определения, какой тип информации будет получен в элементе управления. Наиболее популярное значение атрибута type — это text , который обозначает ввод одной строки текста.

Наряду с установкой атрибута type , хорошей практикой будет также дать элементу атрибут name . Значение атрибута name применяется в качестве имени элемента управления и отправляется вместе с входными данными на сервер.

Демонстрация текстового поля

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

Первоначально было только два текстовых значения атрибута type — text и password (для ввода паролей), однако HTML5 привёз с собой несколько новых значений атрибута type .

Эти значения были добавлены, чтобы обеспечить чёткое смысловое значение для полей ввода, а также предоставить лучшее управление пользователям. Если браузер не понимает одно из этих HTML5-значений атрибута type , он автоматически вернётся к значению text . Ниже приведён список новых типов HTML5.

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

Элемент <input></p>
<p> со значением date у атрибута type для iOS7″ width=»240″ /></p><div class='code-block code-block-5' style='margin: 8px 0; clear: both;'>
<!-- 5agladky -->
<script src=

Рис. 10.01. Элемент со значением date у атрибута type для iOS7

Элемент <input></p>
<p> со значением time у атрибута type для iOS7″ width=»240″ /></p>
<p>Рис. 10.02. Элемент со значением time у атрибута type для iOS7</p>
<p><img decoding=

Элемент <input></p>
<p> со значением time у атрибута type для iOS7″ width=»240″ /></p>
<p>Рис. 10.04. Элемент со значением url у атрибута type для iOS7</p>
<p><img decoding=

Рис. 10.06. Элемент со значением tel у атрибута type для iOS7

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

Демонстрация текстовой области

Поля множественного выбора и меню

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

Переключатели

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

Чтобы создать переключатель, используется элемент со значением radio у атрибута type . Каждый переключатель должен иметь одинаковое значение атрибута name , чтобы все они в группе были связаны друг с другом.

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

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

 Пятница Суббота Воскресенье

Демонстрация переключателей

Флажки

Флажки очень похожи на переключатели. Они используют те же атрибуты и шаблоны, за исключением значения атрибута type . Разница между ними состоит в том, что флажки позволяют пользователям выбрать несколько значений и связать их все с одним именем, в то время как переключатели ограничивают пользователей одним значением.

 Пятница Суббота Воскресенье

Демонстрация флажков

Выпадающие списки

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

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

Атрибут name располагается в элементе , а атрибут value располагается в элементах , вложенных в элемент . Таким образом, атрибут value в каждом элементе связан с атрибутом name элемента .

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

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

 

Демонстрация выпадающего списка

Множественный выбор

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

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

 

Демонстрация множественного выбора

Кнопки в форме

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

Поле для отправки

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

Демонстрация поля для отправки

Кнопка для отправки

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

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

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

  

Демонстрация кнопки для отправки

Другие поля

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

Скрытое поле

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

Чтобы создать скрытое поле используйте значение hidden атрибута type . Дополнительно включает в себя соответствующие значения атрибутов name и value .

Поле для файла

Чтобы позволить пользователям добавить файл в форму, вроде прикрепления файла к письму, используйте значение file атрибута type .

Демонстрация поля для файла

К сожалению, стилизация с помощью CSS элемента , у которого значение атрибута type задано как file , является трудной задачей. Каждый браузер содержит свой собственный стиль поля по умолчанию и ни один не даёт много свободы, чтобы переопределить этот стиль. JavaScript и другие решения могут быть использованы для этого, но они несколько сложны для построения.

Организация элементов формы

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

С помощью , и мы можем лучше организовать формы и направлять пользователей правильно их завершать.

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

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

 

Демонстрация label

При желании, может обернуть поля формы, такие как переключатели или флажки. Это позволяет опустить атрибуты for и id .

    

Демонстрация label с вложением

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

 
Имя пользователя Пароль

Демонстрация fieldset

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

 
Вход в систему Имя пользователя Пароль

Демонстрация legend

Атрибуты формы и полей

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

disabled

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

Применение атрибута disabled к элементу отключит все элементы управления формы внутри группы.

 Имя пользователя 

Демонстрация disabled

placeholder

Атрибут placeholder в HTML5 предлагает подсказку или совет внутри элемента или , которая исчезает при щелчке по элементу управления или при получении фокуса. Это применяется, чтобы дать пользователям дальнейшую информацию о том, как поле формы должно быть заполнено, к примеру, использовать формат электронной почты.

 Email 

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

Демонстрация placeholder

required

Логический атрибут required в HTML5 утверждает, что элемент формы должен содержать значение при отправке на сервер. Если у элемента формы нет значения, будет отображаться сообщение об ошибке с просьбой пользователю заполнить обязательное поле. В настоящее время стили сообщения об ошибке контролируются браузером и не могут быть оформлены в CSS. Некорректные элементы формы, с другой стороны, могут быть стилизованы с помощью псевдоклассов :optional и :required .

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

 Email 

Демонстрация required

Дополнительные атрибуты

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

  • accept
  • autocomplete
  • autofocus
  • formaction
  • formenctype
  • formmethod
  • formnovalidate
  • formtarget
  • max
  • maxlength
  • min
  • pattern
  • readonly
  • selectionDirection
  • step

Пример формы для входа

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

 
Имя пользователя
*, *:before, *:after < box-sizing: border-box; >form < border: 1px solid #c6c7cc; border-radius: 5px; font: 14px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif; overflow: hidden; width: 240px; >fieldset < border: 0; margin: 0; padding: 0; >input < border-radius: 5px; font: 14px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0; >.account-info < padding: 20px 20px 0 20px; >.account-info label < color: #395870; display: block; font-weight: bold; margin-bottom: 20px; >.account-info input < background: #fff; border: 1px solid #c6c7cc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1); color: #636466; padding: 6px; margin-top: 6px; width: 100%; >.account-action < background: #f0f0f2; border-top: 1px solid #c6c7cc; padding: 20px; >.account-action .btn < background: linear-gradient(#49708f, #293f50); border: 0; color: #fff; cursor: pointer; font-weight: bold; float: left; padding: 8px 16px; >.account-action label

Демонстрация формы для входа

На практике

С пониманием того как строить формы, давайте создадим страницу регистрации для нашего сайта Styles Conference, чтобы мы могли начать собирать интерес и продавать билеты на мероприятие.

Перепрыгнем к нашему файлу register.html и начнём, следуя тому же макету что мы использовали для страниц Спикеры и Место проведения. Он включает в себя добавление элемента с классом row чуть ниже вступления и вложенный элемент с классом grid непосредственно внутри элемента .

Наш код чуть ниже вступления для страницы Регистрация должен выглядеть следующим образом:

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

Внутри элемента с классом grid мы собираемся создать две колонки, одна 2/3, а другая 1/3 от ширины страницы. Колонка 2/3 будет элементом с левой стороны, которая говорит пользователям, почему они должны зарегистрироваться на нашей конференции. Колонка 1/3 будет элементом справа и предоставляет пользователям возможность регистрироваться на нашей конференции.

Мы добавим эти два элемента и соответствующие им классы col-2-3 и col-1-3 непосредственно внутрь элемента с классом grid . Так как эти элементы будут строчно-блочными, мы должны открыть комментарий сразу после закрывающего тега колонки 2/3, а затем закрыть этот комментарий непосредственно перед открывающим тегом колонки 1/3.

В целом, наш код должен выглядеть следующим образом:

Теперь внутри нашей колонке 2/3 добавим некоторые детали о нашем мероприятии и почему поучаствовать в нём будет хорошей идеей для начинающих дизайнеров и фронтенд-разработчиков. Мы сделаем это, используя несколько разных уровней заголовков (вместе с заранее установленными для них стилями), абзацем и маркированным списком.

В нашем элементе с классом col-2-3 код должен выглядеть следующим образом:

  • Более двадцати спикеров мирового класса
  • Один полный день мастер-классов и два полных дня презентаций
  • Состоится в Театре Чикаго, исторической достопримечательности
  • Август в Чикаго просто поражает

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

Чтобы сделать это, добавим класс why-attend к маркированному списку.

С этим добавленным классом создадим новый раздел для стилей страницы Регистрация в нижней части нашего файла main.css. В этом разделе мы будем использовать класс, чтобы выбрать маркированный список и добавить list-style как square , а также некоторые margin .

Новый раздел в нижней части нашего файла main.css должен выглядеть следующим образом:

/* ======================================== Регистрация ======================================== */ .why-attend

Раздел нашей страницы Регистрация завершён, так что теперь пришло время обратиться к регистрационной форме. Начнём с добавления атрибутов action и method к элементу . Так как мы не создали обработчик нашей формы, эти атрибуты будут просто служить заполнителем и должны быть пересмотрены.

Код для нашего элемента должен выглядеть следующим образом:

Далее, внутри элемента мы добавим элемент . Внутри него вставим набор элементов , которыми мы обернём поля формы.

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

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

  

Здесь мы видим, что каждое поле формы вложено в элемент . Поле для «Имя» использует элемент со значением атрибута type как text , в то время как поле «Email» использует элемент со значением email у атрибута type .

Оба поля формы — «Имя» и «Email» включают в себя логический атрибут required и атрибут placeholder .

Для поля «Количество билетов» применяется элемент и вложенные элементы . Сам элемент включает в себя логический атрибут required , а первый элемент включает логический атрибут selected .

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

Форма на месте, пора добавить к ней стили. Мы начнём с нескольких стилей по умолчанию для самого элемента и для элементов , и .

В разделе Регистрация нашего файла main.css мы хотим добавить следующие стили:

form < margin-bottom: 22px; >input, select, textarea < font: 300 16px/22px "Roboto", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; >

Мы начали с размещения 22-пиксельного margin снизу формы, чтобы вертикальное пространство помогло отделить его от других элементов. Затем добавили некоторые шрифтовые свойства, в том числе насыщенность, размер, высота строки и семейство для всех элементов , и .

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

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

После того, как класс register-group находится на месте, мы добавим несколько стилей для элементов, вложенных в . Эти стили появятся в нашем файле main.css, ниже существующих стилей формы.

.register-group label < color: #648880; cursor: pointer; font-weight: 400; >.register-group input, .register-group select, .register-group textarea < border: 1px solid #c6c9cc; border-radius: 5px; color: #888; display: block; margin: 5px 0 27px 0; padding: 5px 8px; >.register-group input, .register-group textarea < width: 100%; >.register-group select < height: 34px; width: 60px; >.register-group textarea

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

Пока всё идёт хорошо и наша форма становится довольно красивой. Единственный оставшийся элемент, который ещё не стилизован — это кнопка для отправки. Для кнопок у нас уже есть некоторые существующие стили и мы можем применить их здесь. Если мы мысленно перенесёмся к нашей главной странице, наш раздел hero содержит кнопку, которая получает несколько стилей через класс btn .

Добавим значение btn к атрибуту class , наряду с новым классом btn-default к нашей кнопке для отправки. Мы будем использовать имя класса btn-default специально, так как эта кнопка выводится на белом фоне и стиль для кнопок по умолчанию передвинется вперёд.

Теперь наша кнопка для отправки делит некоторые общие стили с кнопкой на главной странице. Мы воспользуемся классом btn-default чтобы применить некоторые новые стили конкретно к нашей кнопке.

Возвращаясь назад к разделу с кнопками в нашем файле main.css, добавим следующее:

.btn-default < border: 0; background: #648880; padding: 11px 30px; font-size: 14px; >.btn-default:hover

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

Наша страница Регистрация закончена и посетители теперь могут начать бронировать билеты.

Наша страница регистрации с формой

Рис. 10.07. Наша страница регистрации с формой

Демонстрация и исходный код

Ниже вы можете скачать исходный код сайта на данный момент.

Резюме

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

Напомним быстро, что мы обсудили в этом уроке:

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

Наше понимание HTML и CSS продвигается достаточно хорошо и у нас остался только один компонент для изучения: таблицы. В следующей главе мы рассмотрим как организовать и представить данные в таблицах.

Ресурсы и ссылки

  • Forms на HTML Dog
  • Form Element наa Mozilla Developer Network
  • Input Element на Mozilla Developer Network

См. также

  • Выравнивание элементов форм
  • Загрузка файлов
  • Кнопки
  • Кнопки
  • Отправка данных формы
  • Отправка данных формы
  • Переключатели
  • Переключатели
  • Поле для ввода пароля
  • Поле для пароля
  • Поле со списком
  • Поле со списком
  • Пользовательские формы
  • Скрытое поле
  • Создание форм
  • Стилизация переключателей
  • Стилизация флажков
  • Сумасшедшие формы
  • Текстовое поле
  • Текстовое поле
  • Флажки
  • Флажки
  • Формы
  • Формы в Bootstrap 4
  • Формы в HTML

HTML формы

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

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

Основные теги, используемые для создания HTML форм, - это тег , тег , тег , тег и тег .

Необязательный атрибут method указывает на то, каким образом должны отсылаться данные формы. Он может принимать два значения – get (значение по умолчанию) и post. При последнем значении данные во время отсылки скрываются (при значении get данные формы прикрепляются к URL).

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

  • type="text" /> - стандартное текстовое поле. Также здесь может присутствовать атрибут value, который определяет текст по умолчанию, заданный в текстовом поле.
  • type="password" /> - то же текстовое поле, однако вводимые пользователем символы будут скрыты.
  • type="checkbox" /> - создает поле выключателей (checkbox) или флажков, которые пользователь может либо включить, либо отключить. Также здесь можно использовать атрибут checked, который используется в формате и который задает начальное состояние флажка "включен".
  • type="radio" /> - создает поле переключателей, которые очень похожи на флажки, однако в этом случае пользователь может выбрать только один объект в группе переключателей. Здесь также можно использовать атрибут checked, который задается аналогичным образом, как и в случае с флажками.
  • type="file" /> - создает поле ввода, которое показывает файлы на вашем компьютере подобно тому, как вы открываете или сохраняете документы в большинстве программ. Оно позволяет пользователям загружать файлы на сервер.
  • type="submit" /> - создает кнопку отправки данных формы программе-обработчику. Можно самому задавать текст, который будет отображаться на кнопке отправки (то же самое можно сделать и с типами button и reset – см.ниже). Это делается при помощи атрибута value, например, .
  • type="image" /> - создает специальную кнопку отправки, в качестве которой будет использоваться активное изображение. При этом серверу кроме данных формы еще отправляются и координаты (x, y) нажатия мыши на изображение. Также необходимо указывать атрибут src, который играет ту же роль, что и в теге .
  • type="button" /> - создает кнопку, которая без дополнительного кода ничего не будет делать.
  • type="reset" /> - создает кнопку, которая при нажатии на нее возвращает все поля формы к значениям по умолчанию.
  • type="hidden" /> - создает поле, которое не отображается в окне браузера. Оно используется для передачи различной вспомогательной информации, например, имени страницы, на которой находится пользователь, или электронный адрес, куда должна пересылаться форма.

Обратите внимание, что тег закрывает сам себя при помощи конструкции "/>".

  
   

При отправке данных формы посылается выбранный элемент списка.

Аналогично атрибуту checked в флажках и переключателях тег может иметь атрибут selected:

  

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

Форма может иметь, например, следующий вид. (Внимание: форма не будет работать до тех пор, пока не будет реализован скрипт "contactus.php", указанный в атрибуте action тега , и который обрабатывает передаваемые данные.)

  

Имя:

Комментарий:

Вы:

Мужчина

Женщина

Ни то ни другое

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *