Тарифы Услуги Сим-карты

Form описание. HTML формы

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

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

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

http://www..cgi? nick=%C2%E0%ED%FF+%D8%E0%EF%EE%F7%EA%E8%ED&page=5

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

Синтаксис

...

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

Параметры
action - адрес CGI-программы или документа, которые обрабатывает данные формы.
enctype - MIME-тип информации формы.
method - метод протокола HTTP.
name - имя формы.
target - имя окна или фрейма, куда обработчик будет загружать возвращаемый результат.

Пример 1. Использование тега FORM



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

Офицерский состав

Операционная система

Большой полосатый мух


Описание параметров тега FORM Параметр ACTION

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

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

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

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

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

Пример 2. Добавление обработчика формы




...


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

Пример 3. Использование адреса электронной почты




...


Параметр ENCTYPE

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

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

Аргументы
Имя MIME-типа в любом регистре. Допускается устанавливать сразу несколько значений, разделяя их запятыми.

Значение по умолчанию
application/x-www-form-urlencoded

Пример 4. Изменение типа данных



...


Параметр METHOD

Описание
Метод сообщает серверу о цели запроса. Различают два основных метода: GET и POST. Существуют и другие методы, но они пока мало используются.

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

Аргументы
Значение параметра method не зависит от регистра и его следует указывать без кавычек. Различают два метода - GET и POST.

GET
Этот метод является одним из самых распространенных и предназначен для получения требуемой информации и передачи данных в адресной строке. Пары «имя=значение» присоединяются в этом случае к адресу после вопросительного знака и разделяются между собой амперсандом (символ &). Удобство использования метода GET заключается в том, что адрес со всеми параметрами можно использовать неоднократно, сохранив его, например, в «Избранное» браузера, а также менять значения параметров прямо в адресной строке.

POST
Метод POST посылает на сервер данные в запросе браузера. Это позволяет отправлять большее количество данных, чем доступно методу GET, поскольку у него установлено ограничение в 4 Кб. Большие объемы данных используются в форумах, почтовых службах, заполнении базы данных и т.д

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

Пример 5. Метод отправки формы




...


Параметр NAME

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

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

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

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

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




function validForm() {
alert("Имя " + document.forms("form1").nick.value)
}




Имя:



Параметр TARGET

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

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

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

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

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

Пример 7. Открытие новой страницы




...


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

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

Программы, обрабатывающие данные, переданные формами, часто называют CGI-скриптами. Сокращение CGI (Common Gateways Interface) означает "общепринятый интерфейс шлюзов". Написание CGI-скриптов в большинстве случаев требует хорошего знания соответствующего языка программирования и возможностей операционной системы Unix.

В настоящее время определенное распространение получил язык PHP/FI, инструкции которого можно встраивать прямо в HTML-документы (документы при этом сохраняются в виде файлов с расширением *.pht или *.php).

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

Как устроена HTML форма

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

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

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

Определяет, каким образом (иначе говоря, с помощью какого метода протокола передачи гипертекстов) данные из формы будут переданы обработчику. Допустимые значения: METHOD=POST и METHOD=GET . Если значение атрибута не установлено, по умолчанию предполагается METHOD=GET .

Определяет, каким образом данные из формы HTML будут закодированы для передачи обработчику. Если значение атрибута не установлено, по умолчанию предполагается ENCTYPE=application/x-www-form-urlencoded .

Простейшая HTML форма

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

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

Надпись на кнопке можно задать такую, какая нравится, путем введения атрибута VALUE="[Надпись]" (читается "вэлью" с ударением на первом слоге, от английского "значение"), например:

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

Пример 11 Простейшая форма

Надпись, нанесенную на кнопку, можно при необходимости передать обработчику путем введения в определение кнопки атрибута NAME=[имя] (читается "нэйм", от английского "имя"), например:

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

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

Как HTML форма собирает данные

Существуют и другие типы элементов . Каждый элемент должен включать атрибут NAME=[имя] , определяющий имя элемента (и, соответственно, имя переменной, которая будет передана обработчику). Имя должно задаваться только латинскими буквами . Большинство элементов должны включать атрибут VALUE="[значение]" , определяющий значение, которое будет передано обработчику под этим именем. Для элементов и , однако, этот атрибут не обязателен, поскольку значение соответствующей переменной может вводиться пользователем с клавиатуры.

Основные типы элементов :

TYPE=text

Определяет окно для ввода строки текста. Может содержать дополнительные атрибуты SIZE=[число] (ширина окна ввода в символах) и MAXLENGTH=[число] (максимально допустимая длина вводимой строки в символах).

Пример:

Определяет окно шириной 20 символов для ввода текста. По умолчанию в окне находится текст Иван, который пользователь может редактировать. Отредактированный (или неотредактированный) текст передается обработчику в переменной user .

TYPE=password

Определяет окно для ввода пароля. Абсолютно аналогичен типу text , только вместо символов вводимого текста показывает на экране звездочки (*). Пример:

Определяет окно шириной 20 символов для ввода пароля. Максимально допустимая длина пароля - 10 символов. Введенный пароль передается обработчику в переменной pw .

TYPE=radio

Определяет радиокнопку. Может содержать дополнительный атрибут checked (показывает, что кнопка помечена). В группе радиокнопок с одинаковыми именами может быть только одна помеченная радиокнопка.

Пример:

9600 бит/с
14400 бит/с
28800 бит/с

Определяет группу из трех радиокнопок, подписанных 9600 бит/с, 14400 бит/с и 28800 бит/с. Первоначально помечена первая из кнопок. Если пользователь не отметит другую кнопку, обработчику будет передана переменная modem со значением 9600 . Если пользователь отметит другую кнопку, обработчику будет передана переменная modem со значением 14400 или 28800 .

TYPE=checkbox

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

Пример:

Персональные компьютеры
Рабочие станции
Серверы локальных сетей
Серверы Интернет

Определяет группу из четырех квадратов. Первоначально помечены второй и четвертый квадраты. Если пользователь не произведет изменений, обработчику будут переданы две переменные: comp=WS и comp=IS .

TYPE=hidden

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

Пример:

Определяет скрытую переменную version , которая передается обработчику со значением 1.1 .

TYPE=reset

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

Пример:

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

Помимо элементов , формы HTML могут содержать меню и поля для ввода текста .

Меню из n элементов выглядит примерно так:

[текст 1] [текст 2] ... [текст n]

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

Тег может также содержать атрибут MULTIPLE , присутствие которого показывает, что из меню можно выбрать несколько элементов. Большинство браузеров показывают меню в виде окна, в котором находятся элементы меню (высоту окна в строках можно задать атрибутом SIZE=[число]). Меню в большинстве случаев показывается в виде выпадающего меню.

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

Разберем небольшой пример: Вариант 1 Вариант 2 Вариант 3

Такой фрагмент определяет меню из трех элементов: Вариант 1 , Вариант 2 и Вариант 3 . По умолчанию выбран элемент Вариант 1 . Обработчику будет передана переменная selection значение которой может быть option1 (по умолчанию), option2 или option3 .

После всего, что мы уже узнали, элемент может показаться совсем простым. Например:

А здесь - Ваш адрес...

Все атрибуты обязательны. Атрибут NAME определяет имя, под которым содержимое окна будет передано обработчику (в примере - address). Атрибут ROWS устанавливает высоту окна в строках (в примере - 5). Атрибут COLS устанавливает ширину окна в символах (в примере - 50).

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

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

Пример:

Для демонстрации использования форм HTML я написал небольшую программу на PHP, которая находится по адресу:

Http://206.31.82.215/hp/nc/fd-win.pht

Исходные данные в эту программу передаст форма, описанная в примере 12 :

Пример 12 Несколько более сложная форма Расскажите немного о себе...

Указывать подлинные данные совсем не обязательно. Для целей демонстрации вполне подойдут и вымышленные.

Имя:
Фамилия:
Пол: мужской женский
Возраст: лет

Заполняйте форму HTML, жмите на кнопку и смотрите, что будет...

Маленькая хитрость,
или как отправить форму почтой

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

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

Допустим, что мы слегка изменили Пример 12. Вместо строки

мы ввели строку

Обратите внимание, что мы изменили алгоритм кодирования на text/plain , то есть фактически выключили кодирование вообще.

Предположим теперь, что пользователь указал, имя Иван, фамилию Петров, мужской пол и возраст 22 года. Теперь вопрос: что произойдет, если пользователь нажмет на кнопку Запустить обработчик?

Ответ прост. На адрес [email protected] электронной почтой автоматически будет отправлено сообщение следующего содержания:

Fn=Иван ln=Петров gender=male age=22

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

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

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

Имя

Фамилия

куда конкретно и каким образом

и закрывающим

Имя

Фамилия

Теперь понятно, что эта часть кода является формой.

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

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

Смысл использования тега form в специальных атрибутах, которые можно к нему применять.

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

1) a ction – этот атрибут является обязательным. Т.е. создавать форму без его использования особого смысла не имеет. С его помощью указывается путь к программе (скрипту), которая будет обрабатывать данные введенные в форме.

2) method – этим атрибутом мы указываем метод, с помощью которого данные будут переданы к программе обработчику.

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

Если не указывать этот атрибут, то по умолчанию будет использован метод GET .

Давайте добавим эти два атрибута к нашей форме:

Имя

Фамилия

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

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

3) enctype – с помощью этого атрибута можно указать тип содержимого/content type, которое будет отправлено на сервер.

4) accept — задает список разделённых запятыми типов содержимого / content type list , которые будут отправлены на сервер.

4) accept —charset – задает список кодировок текста, которые будут сообщаться программе (скрипту).

С первым действием все, переходим ко второму.

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

Хорошо, мы с вами создали веб-форму, но ведь пользователю нужно совершить какое-то действие, чтобы данные, которые он ввел, были отправлены в программу обработчик. Обычно это делается созданием кнопки с атрибутом type=»submit» .

Все браузеры уже настроены таким образом, что когда пользователь кликает по кнопке с атрибутам type =»submit «. То автоматически данные, которые введены в форме, будут отправлены по адресу, который задан в атрибуте action , формы.

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

Имя
-
Фамилия

Теперь, когда пользователь нажмет на кнопку «Отправить», данные, которые он ввел в текстовые поля, будут отправлены программе-обработчику, которая находится, например, по адресу «http ://dimachen .info /papka /script .php ».

На сегодня все. До встречи!

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

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

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

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

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

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

Имя


Фамилия

Кстати, хотите узнать есть ли смысл в каком-то элементе на вашем сайте с помощью «целей» Яндекс Метрики и Google Analytics?

Здравствуйте, уважаемые читатели блога сайт. В продолжение изучения переходим к рассмотрению тегов 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":

Введите значение от 0 до 1:

Введите значение от -10 до 10:

Введите значение от 0 до 1:

29. Value — устанавливает значение элемента формы, которое будет передано обработчику. На сервер посылается пара «имя-параметр», где имя определяется атрибутом name тега input, а параметр — атрибутом value. При этом для различных элементов формы value будет играть разные роли :

  • для type="button | reset | submit" — устанавливает текстовую надпись на кнопках;
  • для type="checkbox | radio | image" — идентифицирует каждый чекбокс, переключатель или графическую кнопку при отправке и обработке данных на сервере;
  • для type="password | text" — сразу при загрузке формы в поле выводит предварительный текст, который может быть изменен или полностью удален пользователем;
  • для type="file" (загрузка файлов) не применяется, поскольку не влияет на этот элемент.

Пример использования для каждого из выше перечисленных вариантов:

Выберите CMS: WPJoomla

Выберите CMS: WPJoomla

Здесь значение атрибута 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 . Также посмотрите для закрепления еще один урок Евгения Попова о создании контактной формы.

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

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

Что такое форма и как она функционирует

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

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

Форма задается при помощи специального элемента языка html .

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

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

1 2 3 4 5 6 7 8 9 10 11 12 Пример

Пример

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

Отправляем данные на сторону сервера

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

Код такого метода выглядит вот так:

При запуске представленной строки в отобразиться кнопка с надписью: «Отправить».

Другой способ отправки данных на сторону сервера – это нажатие в пределах диалогового окна клавиши Enter.

После подтверждения отправки указанной информации, она не сразу поступает на сервер. Сначала ее обрабатывает браузер, приводя к виду «имя=значение».

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

Сам по себе параметр action не обязателен, а в некоторых моментах и вовсе не нужен. Например, если страница сайта написана с использованием php или js, то обработка происходит на текущей странице и ссылки не нужны.

Для большего понимания всей картины функционирования сайта я хотел бы добавить, что на сервере работа с данными выполняется уже при помощи других языков. Так, серверными языками считаются: Python, php, си-подобные языки (C#, C и т.д.), Java и другие.

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

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

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

  • Text – создает текстовое поле;
  • Submit – создает кнопку для отправки данных на сервер;
  • Image – отвечает за кнопку с картинкой;
  • Reset – устанавливает кнопку для очистки формы;
  • Password – задает текстовое поле специально для паролей;
  • Checkbox – отвечает за поля с флажками;
  • Radio – отвечает за поля с выбором одного элемента;
  • Button – создает кнопку;
  • Hidden – используется для скрытых полей;
  • File – задает поле, отвечающее за отправку файлов.
Способы передачи информации

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

Post Get
Размер передаваемых документов Ограничиваются серверной стороной. Максимум – 4 Кб.
Способ отображения отправленной информации Доступна только при просмотре через браузерные расширения или другие специальные программные продукты. Сразу же доступна всем.
Использование закладок Нет возможности добавить в закладки, так как запросы не повторяются (все страницы ссылаются на один адрес). Любую страницу с запросом можно сохранить в закладках и перейти к ней спустя время.
Кэширование Исходя из предыдущего пункта все запросы на одной странице. Каждую страницу можно кэшировать отдельно.
Предназначение Используется для пересылки больших файлов (книг, изображений, видео и т.д.), сообщений, комментариев. Отлично подходит для поиска запрашиваемых значений по веб-ресурсу или для передачи коротких текстовых сообщений.

Для того чтобы указать каким из двух методов передачи данных работать браузеру, в элементе используют предусмотренный параметр method (например, method="post" ).

Рассмотрим второй пример. Создадим форму, в которой нужно ввести свои персональные данные (имя и фамилию, дату рождения) и придумать пароль. После все это отправляем на сервер при помощи метода Post .

Метод POST

Введите свои персональные данные!

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

Создание панели регистрации

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 Регистрация Регистрация на сайте

Имя:

Фамилия:

E-mail:

Пароль:

Повтор пароля:

Регистрация body { background-color:#98FB98; background-attachment: fixed; } form{ background-color:#AEEEEE; Color: #006400; font-size:15px; } h4 { color: red; text-align: center; } p { text-align: center; } input { Color: #006400; font-size:15px; border: 5px ridge #98FB98; background-color:#fff; } Регистрация на сайте Для последующей корректной работе в нашем сервисе, пожалуйста, вводите правдивые данные!

Имя:

Фамилия:

E-mail:

Пароль:

Повтор пароля:

Советую вам сохранить данный код программы в документе с расширением.html и кодировкой utf-8, и открыть последний в окне браузера. Перед вами предстанет во всей красе панель для регистрации с полями для ввода имени, фамилии, e-mail и пароля с повторением. Заметьте, что при запуске страницы курсор сразу же расположен в первом текстовом поле. Этот прием достигается за счет атрибута autofocus .

Начните заполнять поля, оставив одно без изменений, и нажмите кнопку «Зарегистрироваться». Как вы уже заметили, форма не будет отправлена, так как у каждого элемента < input> указан атрибут required . Он устанавливает отмеченные поля обязательными для заполнения.

Еще одним интересным моментом является указание типа type="email" , который появился в . При использовании такого типа поля, введенная информация автоматически проверяется на корректность. В случае ошибок форма не отправляется на сервер.

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

Пока-пока!

С уважением, Роман Чуешов

Прочитано: 333 раз