HTML-формы. HTML Формы

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

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

Пример: Простая HTML-форма
  • Попробуй сам »

Моя первая форма:
Имя:
Фамилия:



Простая форма

Моя первая форма:
Имя:
Фамилия:


Элемент

Формы вставляются на веб-страницы посредством элемента . Он представляет собой контейнер для всего содержимого формы, включая такие элементы, как текстовые поля и кнопки, а также любые другие теги языка HTML. Однако он не может содержать в себе другой элемент .
Для отправки формы на сервер используется кнопка «Submit», того же результат получится, если нажать клавишу «Enter» в пределах формы. Если кнопка «Submit» отсутствует в форме, клавиша «Enter» может быть использована для отправки.
Большинство атрибутов элемента влияют на обработку формы, а не на ее дизайн. Наиболее распространёнными из которых являются action и method . Атрибут action содержит URL, на который информация в форме будет отправлена для обработки сервером. Атрибут method является методом HTTP, который должны использовать браузеры для отправки данных формы.

Элемент

Практически все поля для формы создается с помощью элемента (от англ. input — ввод). Внешний вид элемента меняются в зависимости от значения его атрибута type :

Вот некоторые значения атрибута type :

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

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

Поле ввода пароля является разновидностью обычного текстового поля. Оно поддерживает те же атрибуты, что и однострочное текстовое поле. Атрибут name устанавливает имя поля ввода пароля, которое будет отправлено на сервер вместе с паролем, введенным пользователем. Чтобы создать поле для ввода пароля, необходимо задать значение password атрибуту type (password (англ.) — пароль):

Пример создания формы с полем для ввода пароля:

Пример: Поле ввода пароля
  • Попробуй сам »

Ваш логин:

Пароль:




Ваш логин:

Пароль:


Вместе с этим атрибутом можно использовать атрибут maxlenght , значение которого определяет максимальное количество символов, которые можно ввести в данную строку. Можно также задать длину поля ввода, используя атрибут size . По умолчанию, в большинстве браузеров ширина текстового поля ограничена 20 символами. Для управления шириной элементов новых форм, вместо атрибута size , рекомендуется использовать средства каскадных таблиц стилей (CSS).
Атрибут value задает значение, которое по умолчанию отображается в текстовом поле в момент загрузки формы. Введя в поле значение по умолчанию, можно пояснить пользователю, какие именно данные и в каком формате вы хотите, чтобы пользователь сюда занес. Это как образец, ведь пользователю гораздо удобнее заполнять форму, видя перед собой пример.

Переключатели (radio)

Элемент типа radio создает переключатели, которые используют принцип логического «ИЛИ», позволяя выбрать только одно из нескольких значений: если вы выбираете одно положение, то все остальные становятся неактивными. Основной синтаксис элемента-переключателя:

Атрибут name для переключателей обязателен и играет важную роль в объединении нескольких элементов-переключателей в группу. Для объединения переключателей в группу необходимо установить одинаковое значение атрибута name и разное значение атрибута value . Атрибут vаluе устанавливает значение выбранного переключателя, которое будет отправлено серверу. Значение каждого элемента-переключателя должно быть уникальным внутри группы, для того, чтобы сервер знал, какой вариант ответа выбрал пользователь.
Наличие атрибута checked (с англ. — установлен) у элемента-переключателя указывает на то, какой из предлагаемых вариантов должен быть выбран по умолчанию при загрузке страницы, если это необходимо. Данный атрибут может быть установлен только у одного элемента-переключателя из группы:

  • Попробуй сам »

Сколько Вам лет?

  • младше 18
  • от 18 до 24
  • от 25 до 35
  • более 35



  • Сколько Вам лет?

  • младше 18
  • от 18 до 24
  • от 25 до 35
  • более 35
  • Элемент

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

    Два атрибута HTML необходимы :

    • action содержит адрес, который определяет, куда будет отправлена информация формы;
    • method может быть либо GET, либо POST и определяет, как будет отправлена информация формы.

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

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

    • поле для электронной почты
    • поле для пароля
    • кнопка отправки

    Эти три элемента HTML будут заключены внутри одной формы .

    Вы можете аналогично добавить форму регистрации на той же HTML-странице, в отдельном элементе .

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

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

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

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

    К примеру, поле для пароля показывает точки вместо символов. А поле для чисел позволяет увеличивать/уменьшать значение с помощью клавиш вверх и вниз.

    placeholder

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

    Если вы начинаете набирать что-то, то увидите как текст «Введите своё имя» исчезнет.

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

    Email

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

    Хотя вы можете применять короткие абзацы для описания элементов формы, использование является семантически более правильным, потому что они существуют только в формах. также может быть связан с определённым элементом формы с помощью атрибута for , соответствующему значению id у поля.

    Имя

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

    Флажки

    Флажки - это элементы формы, которые имеют только два состояния: включено или выключено. Они в основном позволяют пользователю сказать: «Да» или «Нет» для чего-то.

    Запомнить меня

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

    Я согласен с условиями

    Вы можете щёлкнуть по тексту «Я согласен с условиями» чтобы переключить флажок.

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

    Использовать мой платёжный адрес

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

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

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

    Семейное положение Холост Женат Разведён Вдовец

    Поскольку все переключатели используют одинаковое значение атрибута name (в данном случае значение status ), выбор одного из вариантов отменит все остальные. Переключатели являются взаимоисключающими .

    Разница между переключателями и флажками

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

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

    Выпадающие меню

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

    Они работают подобно переключателям, отличается только компоновка.

    Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь

    Множественный выбор из выпадающего меню

    Если добавить атрибут multiple , вы можете предоставить возможность выбрать несколько вариантов.

    Какими браузерами вы пользуетесь? Google Chrome Internet Explorer Mozilla Firefox Opera Safari

    Выберите несколько вариантов посредством удержания Ctrl (или ⌘) и щелчка. Это может быть хорошей альтернативой применению несколько флажков в строке.

    Пример: полная форма регистрации

    Обращение Г-н Г-жа

    Имя

    Фамилия

    Email

    Телефон

    Пароль

    Подтвердите пароль

    Страна Канада Франция Германия Италия Япония Россия Великобритания США

    Я согласен с условиями использования

    Зарегистрироваться

    Также доступны и другие элементы форм, но мы рассмотрели наиболее используемые.

    Тег (от англ. form - форма) устанавливает форму на веб-странице.

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

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

    Для отправки формы на сервер используется кнопка Submit, того же можно добиться, если нажать клавишу Enter в пределах формы. Если кнопка Submit отсутствует в форме, клавиша Enter имитирует её использование.

    Когда форма отправляется на сервер, управление данными передаётся программе, заданной атрибутом action элемента . Предварительно браузер подготавливает информацию в виде пары « имя=значение », где имя определяется атрибутом name элемента , а значение введено пользователем или установлено в поле формы по умолчанию. Если для отправки данных используется метод GET, то адресная строка может принимать следующий вид.

    Http://www.htmlbook.ru/handler.php?nick=%C2%E0%ED%FF+%D8%E0%EF%EE%F7%EA%E8%ED&page=5

    Параметры перечисляются после вопросительного знака, указанного после адреса серверной программы и разделяются между собой символом амперсанда (&). Русские буквы преобразуются в шестнадцатеричное представление (в форме %HH , где HH - шестнадцатеричный код для значения ASCII-символа), пробел заменяется на плюс (+).

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

    Синтаксис ...

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

    WAI ARIA

    Значение role по умолчанию: form

    Допустимые значения role:

    • none
    • presentation
    • search
    Атрибуты
    • accept-charset - Устанавливает кодировку, в которой сервер может принимать и обрабатывать данные.
    • action - Адрес программы или документа, который обрабатывает данные формы.
    • autocomplete - Включает автозаполнение полей формы.
    • enctype - Способ кодирования данных формы.
    • method - Метод протокола HTTP.
    • name - Имя формы.
    • novalidate - Отменяет встроенную проверку данных формы на корректность ввода.
    • target - Имя окна или фрейма, куда обработчик будет загружать возвращаемый результат.
    accept-charset

    Устанавливает кодировку, в которой сервер может принимать и обрабатывать данные формы.

    Синтаксис

    ...

    Значения

    Название кодировки, например Windows-1251 , UTF-8 и др.

    Значение по умолчанию

    Кодировка, установленная для страницы.

    action

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

    Если атрибут action отсутствует, текущая страница перезагружается, возвращая все элементы формы к их значениям по умолчанию.

    Синтаксис

    ...

    Значения

    В качестве значения принимается полный или относительный путь к серверному файлу.

    Значение по умолчанию

    autocomplete

    Управляет автозаполнением полей форм. Значение может быть перекрыто атрибутом autocomplete у конкретных элементов формы.

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

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

    Синтаксис

    ...

    Значения

    • on - Включает автозаполнение формы.
    • off - Отключает автозаполнение. Это значение обычно используется для отмены сохранения в браузере важных данных (паролей, номеров банковских карт), а также редко вводимых или уникальных данных (капча).

    Значение по умолчанию

    enctype

    Определяет способ кодирования данных формы при их отправке на сервер. Обычно устанавливать значение атрибута enctype не требуется, данные вполне правильно понимаются на стороне сервера. Однако если используется поле для отправки файла (input type="file"), следует определить атрибут enctype как multipart/form-data .

    Синтаксис

    ...

    Значения

    • application/x-www-form-urlencoded - Вместо пробелов ставится + , символы вроде русских букв кодируются их шестнадцатеричными значениями (например, %D0%90%D0%BD%D1%8F вместо Аня).
    • multipart/form-data - Данные не кодируются. Это значение применяется при отправке файлов.
    • text/plain - Пробелы заменяются знаком + , буквы и другие символы не кодируются.

    Значение по умолчанию

    application/x-www-form-urlencoded

    method

    Атрибут method сообщает серверу о методе запроса.

    Синтаксис

    ...

    Значения

    Значение атрибута method не зависит от регистра. Различают два метода - get и post .

    • get - Этот метод является одним из самых распространённых и предназначен для получения требуемой информации и передачи данных в адресной строке. Пары « имя=значение » присоединяются в этом случае к адресу после вопросительного знака и разделяются между собой амперсандом (символ &). Удобство использования метода get заключается в том, что адрес со всеми параметрами можно использовать неоднократно, сохранив его, например, в закладки браузера, а также менять значения параметров прямо в адресной строке.
    • post - Метод post посылает на сервер данные в запросе браузера. Это позволяет отправлять большее количество данных, чем доступно методу get , поскольку у post не установлено ограничение в 4 Кб. Большие объёмы данных используются в форумах, почтовых службах, заполнении базы данных, при пересылке файлов и др.

    Значение по умолчанию

    name

    Определяет уникальное имя формы. Как правило, имя формы используется для доступа к её элементам через скрипты.

    Синтаксис

    ...

    Значения

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

    Значение по умолчанию

    novalidate

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

    Синтаксис

    ...

    Значения

    Значение по умолчанию

    По умолчанию этот атрибут выключен.

    target

    После того, как обработчик формы получает данные, он возвращает результат в виде HTML-документа. Вы можете определить фрейм, в который будет загружаться итоговая веб-страница. Для этого используется атрибут target , в качестве его значения указывается имя фрейма. Если target не установлен, возвращаемый результат показывается в текущей вкладке.

    Синтаксис

    ...

    Значения

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

    • _blank - Загружает страницу в новую вкладку браузера.
    • _self - Загружает страницу в текущую вкладку.
    • _parent - Загружает страницу во фрейм-родитель; если фреймов нет, то это значение работает как _self .
    • _top - Отменяет все фреймы и загружает страницу в окне браузера; если фреймов нет, то это значение работает как _self .

    Значение по умолчанию

    Спецификации Примеры FORM

    Как по вашему мнению расшифровывается аббревиатура "ОС"?

    Офицерский состав
    Операционная система
    Большой полосатый мух


    Формы в HTML - это самая сложная, но с другой стороны, пожалуй самая интересная тема в HTML.

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

    Примером формы может служить гостевая книга, анкета, онлайн тест. Формы заполняют при регистрации на сайте, при оформлении заказов в интернет магазине и т.п.

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

    Затем данные, внесенные в форму, отправляются на сервер для обработки. Но HTML здесь бессилен - над обработкой формы уже работает программа или скрипт, который к ней привязывается. Такие программы обычно пишут на языке php или javascript.

    Атрибуты формы - тег

    Форм на веб-странице может несколько (столько, сколько нужно разработчику ). Каждая из них начинается тегом и завершается закрывающим тегом .

    Атрибут action является обязательным для любой формы - он указывает адрес к файлу, который обслуживает форму (обрабатывает внесенные в нее данные ).

    Атрибут method определяет способ отправки содержимого формы. Существует два метода - GET и POST . Сейчас не имеет смысла вникать в эти параметры, так как тема отправки информации методами GET и POST относится к языкам обработки данных (например, PHP ). Достаточно знать, что именно метод передачи данных POST в большинстве случаях используется в формах.

    Атрибут name тега не является обязательным. Но если в документе несколько форм, то каждая из них должна быть как-то идентифицирована обработчиком. Поэтому наличие атрибута name в этом случае необходимо - он задает уникально имя формы.

    Можно также установить кодировку для вводимых данных - за это отвечает атрибут accept-charset , а также, при помощи атрибута target , определить окно, в котором будет отображаться результат обработки отправленной формы (в новом или в текущем окне ).

    Но сам по себе тег не имеет смысла, ведь форма передает данные, которые сначала нужно куда-то внести!

    Ввод данных. Поля формы - тег

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

    type - это основной атрибут тега . Он устанавливает тип поля (элемента ) формы:

    Значение атрибута type= "..."

    Результат

    Описание

    Однострочное текстовое поле для ввода текста. Атрибут size задает ширину поля в символах.

    Текстовое поле для ввода пароля.
    Атрибут maxlength устанавливает максимальное количество символов, которое можно ввести

    1 2 3

    Переключатель.
    Возможен выбор лишь одного варианта из предложенных. Атрибут checked определяет заранее помеченное поле.

    1 2 3

    Флажок.
    Возможен выбор нескольких вариантов. Атрибут checked определяет заранее помеченное поле.

    Кнопка.
    Атрибут value устанавливает надпись на кнопке.

    Кнопка сброса.
    Возвращает поля формы к их первоначальному виду. Сброс внесенных данных.

    Кнопка для отправки внесенных данных.

    Поле для ввода имени пересылаемого файла.

    Кнопка-изображение.
    Служит также для отправки данных на сервер. Атрибут src указывает адрес файла с изображением.

    Скрытое поле - невидимое для пользователя.

    Раскрывающийся список - теги и

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

    Вид создаваемого списка зависит от значения атрибута size : при size= "1" (значение по умолчанию ) список будет раскрывающимся.

    Иное значение атрибута size будет соответствовать количеству отображаемых пунктов списка. Например, при size= "3" , видимыми будут три элемента. Для просмотра остальных пунктов списка (если таковые есть ) следует воспользоваться вертикальной полосой прокрутки, которая добавляется автоматически.

    По умолчанию возможен выбор лишь одного элемента списка. Добавление атрибута multiple к тегу позволяет выбрать несколько пунктов списка с помощью мыши и клавиш Ctrl и Shift.

    При наличии атрибута multiple , будут отображены все пункты списка или их часть (в зависимости от браузера ), если атрибутом size не установлено определенное количество видимых пунктов.

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

    При помощи атрибута name тега списку дается имя, а при помощи атрибута value тега элементу списка присваивают значение. Таким образом на сервер отправляется пара «имя=значение» - имя списка и значение выбранного элемента/ов.

    Атрибут selected тега определяет заранее выделенный пункт списка, а атрибут disabled блокирует элемент списка - его нельзя выбрать.


    Сторона света - одно из четырех основных направлений:



    Север
    Юг
    Запад
    Восток

    7 Чудес света!



    Пирамида Хеопса
    Висячие сады Семирамиды
    Статуя Зевса в Олимпии
    Храм Артемиды в Эфесе
    Мавзолей в Галикарнасе
    Колосс Родосский
    Александрийский маяк


    Сторона света - одно из четырех основных направлений:

    Север Юг Запад Восток

    7 Чудес света!

    Пирамида Хеопса Висячие сады Семирамиды Статуя Зевса в Олимпии Храм Артемиды в Эфесе Мавзолей в Галикарнасе Колосс Родосский Александрийский маяк

    Многострочное текстовое поле - тег

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

    Атрибут name тега является обязательным - при помощи его текстовому полю присваивают имя.

    Атрибут disabled блокирует поле - содержимое поля нельзя изменить и оно недоступно. Атрибут readonly говорит о том, что поле предназначено только для чтения - пользователь не имеет возможность редактировать содержимое, но оно доступно - его можно выделить и, например, скопировать.

    Можно задать ширину текстового поля в символах и высоту поля в строках при помощи атрибутов cols и rows соответственно.

    Если содержимое поля превысит его размеры - появится бегунок.

    Если содержимое поля превысит его размеры - появится бегунок.

    Пример использования формы

    Теперь давайте посмотрим: как работает форма.

    Форма заказа обучающего видеоматериала:




    
    Top