Назад в раздел
FORM тэг в HTML документах
FORM тэг в HTML документах
FORM тэг определяет форму для
заполнения в HTML документе. В одном
документе может быть определено
несколько форм для заполнения, но
вложенные FORM операторы не
разрешены. Формат оператора FORM
выглядит следующим образом:
<FORM ACTION="url"
METHOD="POST">...</FORM>
Его атрибуты следующие:
- ACTION
- URL сервера
запросов, куда будет отослано
содержание формы после
подтверждения. Если это поле
отсутствует, будет использован
URL текущего документа.
- METHOD
- HTTP/1.0 метод
используемый для посылки
содержания заполненной формы
на сервер. Этот метод зависит
от того, как работает
конкретный сервер запросов.
Настоятельно рекомендуется
использование метода POST. Возможные
варианты следующие:
- GET - это
метод по умолчанию,
который приводит к
добавлению содержимого
заполненной формы к URL, как
и в нормальном запросе.
- POST при
использовании этого
метода содержимое
заполненной формы
пересылается не как часть
URL, а как содержимое тела
запроса.
- ENCTYPE
- задает тип кодирования
содержимого заполненной формы.
Этот атрибут действует только
когда используется метод POST и
даже в этом случае имеет только
одно возможное значение
(которое является значением по
умолчанию)- application/x-www-form-urlencoded.
Внутри FORM оператора может
находиться все, что угодно, кроме
другого оператора FORM. Согласно
спецификации, для задания
интерфейсных элементов внутри
оператора FORM используются тэги INPUT, SELECT, и TEXTAREA.
Тэг INPUT используется для задания
простого элемента ввода внутри FORM.
Это одиночный тэг, его ничего не
окружает и он не имеет закрывающего
тэга - т.е. он используется подобно
тэгу IMG.
Атрибуты для тэга INPUT следующие:
- TYPE
- должен быть один из:
- "hidden" : пользователю
не предлагается поля для
ввода, но содержимое тэга
передается при
подтверждении и посылке
формы. Это значение может
быть использовано для
передачи информации
состояния при
взаимодействии клиента и
сервера.
- "image" : картинка, по
которой вы можете сделать
щелчок мышью или другим
указывающим устройством,
что приводит к
немедленному
подтверждению и отсылке
формы. Координаты
выбранной точки
измеряются в точках от
верхнего левого угла и
возвращаются (наряду с
другими компонентами
формы) точно так же, как для
элемента Image.
- "text" поле ввода
текста, значение по
умолчанию
- "password" (поле ввода
пароля; вводимые символы
представляются как
звездочки)
- "checkbox" (кнопка,
принимающая положения on
(включено) и off (выключено))
- "radio" (кнопка,
принимающая положения on и
off; причем остальные кнопки
с тем же параметром NAME
ведут себя по принципу
"одна из многих")
- "submit" (кнопка,
действие которой сводится
к отсылке содержимого
заполненной формы на
сервер запросов)
- "reset" (кнопка, которая
устанавливает во всех
интерфейсных элементах
значения по умолчанию)
- NAME
- символическое имя (оно не
показывается) для этого поля
ввода. Это поле должно
присутствовать для всех полей
ввода кроме "submit" и
"reset", т.к. оно используется
в строке запроса при
идентификации поля ввода при
посылке ее на сервер после
подтверждения формы.
- VALUE
- для полей ввода текста или
пароля, может быть
использовано для задания
начального содержания поля.
Для checkbox или radio button, VALUE задает
значение кнопки, когда она
находится в отмеченном
состоянии (неотмеченные кнопки
опускаются при посылке
запроса); значение по умолчанию
для checkbox или radio button - "on".
Для типов "submit" и
"reset", VALUE может быть
использовано для задания
надписи на этих кнопках.
- CHECKED (значение не
требуется)
- указывает, что данная кнопка
типа checkbox или radio button отмечена
по умолчанию; это поле работает
только для кнопок типа checkbox и
radio button.
- SIZE
- физический размер поля ввода в
символах; это поле действует
только для элементов ввода
текста или пароля. Если не
присутствует явно,
выставляется 20. Многострочные
поля ввода текста могут быть
заданы с помощью
SIZE=ширина,высота; например
SIZE=60,12. Заметим, что SIZE атрибут
не должен использоваться для
задания многострочных полей
ввода, т.к. можно
воспользоваться тэгом TEXTAREA.
- MAXLENGTH
- максимальное количество
введенных символов, которые
будут приниматься для ввода,
верно только для полей ввода
текста и пароля (и только в
однострочных элементах). По
умолчанию - неограниченно.
Подразумевается, что поля
ввода должны прокручиваться.
Внутри <FORM> ... </FORM>, может
присутствовать любое количество
тэгов SELECT, свободно перемешанных с
другими HTML элементами (включая INPUT и
TEXTAREA элементы) и текстом (но не
дополнительных элементов FORM). Тэг
SELECT во многих графических клиентах
представляется как меню или список.
В отличие от INPUT, SELECT имеет
открывающий и закрывающий тэги.
Внутри оператора SELECT разрешена
только последовательность тэгов
OPTION, за каждым из которых следует
некоторое количество простого
текста (без HTML выражений), например:
<SELECT NAME="a-menu">
<OPTION> First option.
<OPTION> Second option.
</SELECT>
Атрибуты оператора SELECT следующие:
- NAME
- символическое имя для этого
SELECT элемента. Это поле должно
присутствовать, т.к. оно
используется при посылке
запроса (аналогично оператору
INPUT).
- SIZE
- если SIZE равен 1 или если этот
атрибут опущен, по умолчанию
SELECT будет представлен как меню
опций Motif. Если SIZE = 2 или более,
SELECT будет представлен как окно
выбора; значение SIZE тогда будет
определять, сколько элементов
списка будут видны.
- MULTIPLE
- если присутствует (нет
значения), задает, что SELECT
должен позволять
множественный выбор из списка.
Наличие MULTIPLE принуждает SELECT
быть представленным как список
выбора, вне зависимости от
значения SIZE.
Атрибуты OPTION следующие:
- SELECTED задает, что эта
опция выбрана по умолчанию.
Если SELECT позволяет
множественный выбор (с помощью
атрибута MULTIPLE ), как SELECTED могут
быть помечены несколько опций.
Тэг TEXTAREA может быть использован
для расположения многострокового
поля ввода с необязательным
содержимым по умолчанию в форме.
Атрибуты тэга TEXTAREA следующие:
- NAME символическое имя поля
ввода.
- ROWS число строк в поле ввода(
высота).
- COLS число столбцов в поле ввода
(ширина).
TEXTAREA имеет полосы прокрутки, так
что может быть введено любое
количество текста. Элемент TEXTAREA
требует и открывающий и
закрывающий тэги. TEXTAREA без
содержания по умолчанию выглядит
примерно так:
<TEXTAREA NAME="foo" ROWS=4
COLS=40></TEXTAREA>
TEXTAREA с содержанием по умолчанию
выглядит так:
<TEXTAREA NAME="foo" ROWS=4 COLS=40> Default
contents go here. </TEXTAREA>
Содержание по умолчанию должно
быть строгим ASCII текстом. Символы
перевода строки воспринимаются
(так что в примере выше до и после
текста "Default contents go here." будет
пустая строка).
Для метода GET
Когда нажимается кнопка submit,
содержимое формы будет добавлено к
URL в следующей форме:
action?name=value&name=value&name=value
(здесь "action" - URL, заданное
атрибутом ACTION в тэге FORM, или URL
текущего документа, если атрибут
ACTION не был задан).
Нестандартные символы в примерах
"name" или "value" будут
опущены, при этом имеются в виду
также "=" and "&". Это
означает, что включения "=",
которые разделяют имена и значения
(names и values), и включения "&",
которые разделяют пары name/value, не
опускаются.
Для полей ввода текста и пароля,
значением будет то, что введет
пользователь. Если пользователь
оставит это поле пустым, значение
value также будет пустым , но в строке
запроса будет присутствовать
фрагмент "name=".
Для кнопок типа checkbox и radio button,
значение value определяется
атрибутом VALUE в том случае, когда
кнопка отмечена. Неотмеченные
кнопки при составлении строки
запроса игнорируются целиком.
Несколько кнопок типа checkbox могут
иметь один атрибут NAME (и различные
VALUE), если это необходимо. Кнопки
типа radio button предназначены для того,
чтобы вести себя по принципу
"одна из всех" и должны иметь
одинаковый атрибут NAME и различные
атрибуты VALUE.
Для метода POST
Содержимое формы кодируется
точно как для метода GET (см. выше), но
вместо добавления содержимого
формы к URL, заданной атрибутом формы
ACTION, в качестве запроса , содержимое
посылается блоком данных как часть
операции POST. Если присутствует
атрибут ACTION, то значение URL, которое
там находится, определяет, куда
послать этот блок данных. Этот
метод особенно рекомендуется при
посылке больших блоков данных.
|
|
|
|