Таблица 2. Атрибуты тега
Атрибут
Значение / описание
disabled
Если атрибут присутствует, то группа связанных элементов формы, находящихся внутри контейнера , отключены для заполнения и редактирования. Используется для ограничения доступа к некоторым полям формы, содержащих ранее введенные данные. Атрибут используется без указания значения — .
form
name
Определяет имя
, которое будет использоваться для ссылки на элементы в JavaScript, или для ссылки на данные формы после заполнения и отправки формы. Является аналогом атрибута id .
3. Создание полей формы
Элемент создает большинство полей формы. Атрибуты элемента отличаются в зависимости от типа поля, для создания которого используется этот элемент.
С помощью css-стилей можно изменить размер шрифта, тип шрифта, цвет и другие свойства текста, а также добавить границы, цвет фона и фоновое изображение. Ширина поля задается свойством width .
Таблица 3. Атрибуты тега
Атрибут
Значение / описание
accept
Определяет тип файла, разрешенных для отправки на сервер. Указывается только для . Возможные значения:
file_extension — разрешает загрузку файлов с указанным расширением, например, accept=".gif" , accept=".pdf" , accept=".doc"
audio/* — разрешает загрузку аудиофайлов
video/* — разрешает загрузку видеофайлов
image/* — разрешает загрузку изображений
media_type — указывает на медиа-тип загружаемых файлов.
alt
Определяет альтернативный текст
для изображений, указывается только для .
autocomplete
Отвечает за запоминание введенных в текстовое поле значений и автоподстановку их при последующем вводе:
on — означает, что поле не защищено, и его значение можно сохранять и извлекать,
off — отключает автозаполнение для полей форм.
autofocus
Позволяет сделать так, чтобы в загружаемой форме то или иное поле ввода уже имело фокус (было выбрано), являясь готовым к вводу значения.
checked
Атрибут проверяет, установлен ли флажок по умолчанию при загрузке страницы для полей типа type="checkbox" и type="radio" .
disabled
form
Значение атрибута должно быть равно атрибуту id элемента
formaction
Задает url файла, который будет обрабатывать введенные в поля данные при отправке формы. Задается только для полей типа type="submit" и type="image" . Атрибут переопределяет значение атрибута action самой формы.
formenctype
Определяет, как будут кодироваться данные полей формы при отправке на сервер. Переопределяет значение атрибута enctype формы. Задается только для полей типа type="submit" и type="image" . Варианты:
application/-x-www-form-urlencoded — значение по умолчанию. Все символы кодируются перед отправкой (пробелы заменяются на символ + , специальные символы преобразуются в значения ASCII HEX)
multipart/form-data — символы не кодируются
text/plain — пробелы заменяются на символ + , а специальные символы не кодируются.
formmethod
Атрибут определяет метод, который браузер будет использовать для отправки данных формы на сервер. Задается только для полей типа type="submit" и type="image" . Переопределяет значение атрибута method формы. Варианты:
get — значение по умолчанию. Данные из формы (пара имя/значение) добавляются в url-адрес и отправляются на сервер: URL?имя=значение&имя=значение
post — данные формы отправляются в виде http-запроса.
formnovalidate
Определяет, что данные полей формы не должны проверяться при отправке формы. Переопределяет значение атрибута novalidate формы. Можно использовать без указания значения атрибута.
formtarget
Определяет, где выводить ответ, полученный после отправки формы. Задается только для полей типа type="submit" и type="image" . Переопределяет значение атрибута target формы.
_parent – загружает ответ в родительский фрейм
_top – загружает ответ во весь экран
framename – загружает ответ во фрейм с указанным именем.
height
Значение атрибута содержит количество пикселей без указания единицы измерения. Устанавливает высоту поля формы типа type="image" , например, . Рекомендуется одновременно устанавливать как высоту, так и ширину поля.
list
Является ссылкой на элемент , содержит его id .Позволяет предоставить пользователю несколько вариантов на выбор, когда он начинает вводить значение в соответствующем поле.
max
Позволяет ограничить допустимый ввод числовых данных максимальным значением, значение атрибута может содержать целое или дробное число. Рекомендуется использовать этот атрибут вместе с атрибутом min . Работает со следующими типами полей: number , range , date , datetime , datetime-local , month , time и week .
maxlength
Атрибут задает максимальное количество символов, вводимых в поле. Значение по умолчанию 524288 символов.
min
Позволяет ограничить допустимый ввод числовых данных минимальным значением.
multiple
Позволяет пользователю ввести несколько значений атрибутов, разделяя их запятой. Применяется в отношении файлов и адресов электронной почты. Указывается без значения атрибута.
name
Определяет имя, которое будет использоваться для доступа к элементу
pattern
Позволяет определять с помощью регулярного выражения
синтаксис данных, ввод которых должен быть разрешен в определенном поле. Например, pattern="{3}-{3}" — квадратные скобки устанавливают диапазон допустимых символов, в данном случае — любые строчные буквы, число в фигурных скобках указывает, что нужны три строчные буквы, после которых следует тире, далее — три цифры в диапазоне от 0 до 9.
placeholder
Содержит текст, который отображается в поле ввода до заполнения (чаще всего это подсказка).
readonly
Не позволяет пользователю изменять значения элементов формы, выделение и копирование текста при этом доступно. Указывается без значения атрибута.
required
Выводит сообщение о том, что данное поле является обязательным для заполнения. Если пользователь попытается отправить форму, не введя в это поле требуемое значение, то на экране отобразится предупреждающее сообщение. Указывается без значения атрибута.
size
Задает видимую ширину поля в символах. Значение по умолчанию — 20. Работает со следующими типами полей: text , search , tel , url , email и password .
src
Задает url изображения, используемого в качестве кнопки отправки данных формы. Указывается только для поля .
step
Используется для элементов, предполагающих ввод числовых значений, указывает величину увеличения или уменьшения значений в процессе регулировки диапазона (шаг).
type
button — создает кнопку.
checkbox — превращает поле ввода во флажок, который можно установить или очистить, например, У меня есть автомобиль
color — генерирует палитры цветов в поддерживающих браузерах, давая пользователям возможность выбирать значения цветов в шестнадцатеричном формате.
date — позволяет вводить дату в формате дд.мм.гггг.
День рождения:
datetime-local — позволяет вводить дату и время, разделенные прописной английской буквой Т по шаблону дд.мм.гггг чч:мм.
День рождения — день и время:
email — браузеры, поддерживающие данный атрибут, будут ожидать, что пользователь введет данные, соответствующие синтаксису адресов электронной почты.
E-mail:
file — позволяет загружать файлы с компьютера пользователя.
Выберите файл:
hidden — скрывает элемент управления, который не отображается браузером и не дает пользователю изменять значения по умолчанию.
image — создает кнопку, позволяя вместо текста на кнопке вставить изображение.
month — позволяет пользователю вводить год и номер месяца по шаблону гггг-мм.
number — предназначено для ввода целочисленных значений. Его атрибуты min , max и step задают верхний, нижний пределы и шаг между значениями соответственно. Эти атрибуты предполагаются у всех элементов, имеющих численные показатели. Их значения по умолчанию зависят от типа элемента.
Укажите количество (от 1 до 5):
password — создает текстовые поля в форме, при этом вводимые пользователем символы заменяются на звездочки, маркеры, либо другие, установленные браузером значки.
Введите пароль:
radio — создает переключатель - элемент управления в виде небольшого кружка, который можно включить или выключить.
Вегетарианец:
range — позволит создать такой элемент интерфейса, как ползунок, min / max — позволят установить диапазон выбора
reset — создает кнопку, которая очищает поля формы от введенных пользователем данных.
search — обозначает поле поиска, по умолчанию поле ввода имеет прямоугольную форму.
Поиск:
submit — создает стандартную кнопку, активизируемую щелчком мыши. Кнопка собирает информацию с формы и отправляет ее для обработки.
text — создает текстовые поля в форме, выводя однострочное текстовое поле для ввода текста.
time — позволяет вводить время в 24-часовом формате по шаблону чч:мм. В поддерживающих браузерах оно отображается как элемент управления в виде числового поля ввода со значением, изменяемым с помощью мыши, и допускает ввод только значений времени.
Укажите время:
url — поле предназначено для указания URL-адресов.
Главная страница:
week — соответствующий инструмент-указатель позволяет пользователю выбрать одну неделю в году, после чего обеспечит ввод данных в формате нн-гггг. В зависимости от года число недель может быть 52 или 53.
Укажите неделю:
value
Определяет текст, отображаемый на кнопке, в поле или связанный текст. Не указывается для полей типа file.
width
Значение атрибута содержит количество пикселей. Позволяет задать ширину полей формы.
4. Текстовые поля ввода
Элемент используется вместо элемента , когда нужно создать большие текстовые поля. Текст, отображаемый как исходное значение, помещается внутрь тега. Размеры поля устанавливаются при помощи атрибутов cols – размеры по горизонтали, rows – размеры по вертикали. Высоту поля можно задать свойством height . Все размеры считаются исходя из размера одного символа моноширинного шрифта.
5. Раскрывающийся список
Списки дают возможность расположить большое количество пунктов компактно. Раскрывающиеся списки создаются при помощи элемента ... . Они позволяют выбрать одно или несколько значений из предложенного множества. По умолчанию в поле списка отображается его первый элемент.
Для добавления в список пунктов используются элементы ... , которые располагаются внутри .
Для систематизации списков применяется элемент ... , который создает заголовки в списках.
Для списков возможно изменить размер шрифта, тип шрифта, цвет и другие свойства текста, а также добавить границы, цвет фона и фоновое изображение.
Таблица 5. Атрибуты тега
Атрибут
Значение / описание
autofocus
Устанавливает автоматический фокус на элементе при загрузке страницы.
disabled
Отключает раскрывающийся список.
form
Определяет форму, которой принадлежит данный список. В качестве значения атрибута указывается идентификатор формы.
multiple
Дает возможность выбора одного или нескольких пунктов, для этого при выборе нужно нажать и удерживать нажатой клавишу Ctrl .
name
Определяет имя для выпадающего списка. Значение атрибута содержит название, отражающее тематику списка.
required
Выводит сообщение о том, что пользователь должен выбрать значение из раскрывающегося списка перед отправкой формы.
size
Задает количество одновременно видимых на экране элементов списка. Если количество элементов списка превышает установленное количество, появляется полоса прокрутки. Значение атрибута задается целым положительным числом.
6. Надписи к полям формы
Надписи к элементам формы создаются с помощью элемента ... . Существует два способа группировки надписи и поля. Если поле находится внутри элемента , то атрибут for указывать не нужно.
Когда вы последний раз летали на самолете?
Кошка
7. Кнопки
Элемент ... создает кликабельные кнопки. В отличие от кнопок, созданных ( , , , ), внутрь элемента можно поместить контент — текст или изображение.
Для корректного отображения элемента разными браузерами нужно указывать атрибут type , например, .
Кнопки позволяют пользователям передавать данные в форму, очищать содержимое формы или предпринимать какие-либо другие действия. Можно создавать границы, изменять фон и выравнивать текст на кнопке.
Таблица 9. Атрибуты тега
Атрибут
Значение / описание
autofocus
Устанавливает фокус на кнопке при загрузке страницы.
disabled
Отключает кнопку, делая ее некликабельной.
form
Указывает на одну или несколько форм, которым принадлежит данная кнопка. Значение атрибута — идентификатор соответствующей формы.
formaction
Значение атрибута содержит url-адрес обработчика данных формы, отправляемых при нажатии на кнопку. Только для кнопки типа type="submit" . Переопределяет значение атрибута action , указанного для элемента .
formenctype
Задает тип кодировки данных формы перед отправкой на сервер при нажатии на кнопки типа type="submit" . Переопределяет значение атрибута enctype , указанного для элемента . Возможные значения:
application/x-www-form-urlencoded — значение по умолчанию. Все символы перед отправкой будут закодированы.
multipart/form-data — символы не кодируются. Используется в случае, когда с помощью формы загружаются файлы.
text/plain — символы не кодируются, а пробелы заменяются на символ + .
formmethod
Атрибут определяет метод, который браузер будет использовать для отправки формы. Переопределяет значение атрибута method , указанного для элемента . Указывается только для кнопок типа type="submit" . Возможные значения:
get — данные из формы (пара имя/значение) добавляются в url-адрес и отправляются на сервер. Данный способ имеет ограничения по размеру отправляемых данных и не подходит для отправки паролей и конфиденциальной информации.
post — данные из формы добавляются в виде http-запроса. Метод является более надежным и безопасным, чем get и не имеет ограничений по размеру.
formnovalidate
Атрибут задает, что данные формы не должны проверяться при отправке. Указывается только для кнопок типа type="submit" .
formtarget
Атрибут задает, в каком окне выводить результат после отправки формы. Указывается только для кнопок типа type="submit" . Переопределяет значение атрибута target , указанного для элемента .
_blank — загружает ответ в новое окно/вкладку
_self — загружает ответ в то же окно (значение по умолчанию)
_parent — загружает ответ в родительский фрейм
_top — загружает ответ во весь экран
framename — загружает ответ во фрейм с указанным именем.
name
Задает имя кнопки, значение атрибута — текст. Используется для ссылки на данные формы, после того как форма была отправлена, или для ссылки на данную кнопку (кнопки) в JavaScript.
type
Определяет тип кнопки. Возможные значения:
button — кликабельная кнопка
reset — кнопка сброса, возвращает первоначальное значение
submit — кнопка для отправки данных формы.
value
Задает значение по умолчанию, отправляемое при нажатии на кнопку.
8. Флажки и переключатели в формах
Флажки в формах задаются с помощью конструкции , а переключатель — при помощи .
Флажков, в отличие от переключателей, в одной форме может быть установлено несколько. Если для флажков указан атрибут checked , то при загрузке станицы на соответствующих полях формы флажки уже будут установлены.
Элемент применяется при реализации выбора с помощью переключателей и флажков. Можно выбрать нужный пункт, просто щелкая кнопкой мыши на тексте, связанном с ним. Для этого нужно поместить внутрь элемента .
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
Несколько более сложная форма
Расскажите немного о себе...
Указывать подлинные данные совсем не обязательно.
Для целей демонстрации вполне подойдут и вымышленные.
Имя:
Фамилия:
Пол: мужской
женский
Возраст: лет