» html
для новичков
» Главная
страница
» html
для новичков
Формы
в HTML документах
Некоторые
WWW браузер позволяют пользователю,
заполнив специальную форму,
возвращающую полученное значение,
выполнять некоторые действия
на вашем WWW-сервере. Когда
форма интерпретируется WEB-броузером,
создается специальные экранные
элементы GUI, такие, как поля
ввода, checkboxes, radiobuttons,
выпадающие меню, скроллируемые
списки, кнопки. Когда пользователь
заполняет форму и нажимает кнопку
“Подтверждение” (SUBMIT — специальный
тип кнопки, который задается
при описании документа), информация,
введенная пользователем в форму,
посылается HTTP-серверу для
обработки и передаче другим
программам, работающим под сервером,
в соответствии с CGI (Common
Gateway Interface) интерфейсом.
Когда
вы описываете форму, каждый
элемент ввода данных имеет тэг
<INPUT>. Когда пользователь
помещает данные в элемент формы,
информация размещается в разделе
VALUE данного элемента.
Синтаксис
Все
формы начинаются тэгом <FORM>
и завершаются тэгом </FORM>.
<FORM
METHOD="get|post"
ACTION="URL"> Элементы_формы_и_другие_элементы_HTML
</FORM>
METHOD
Метод
посылки сообщения с данными
из формы. В зависимости от используемого
метода вы можете посылать результаты
ввода данных в форму двумя путями:
GET:
Информация из формы добавляется
в конец URL, который был указан
в описании заголовка формы.
Ваша CGI-программа (CGI-скрипт)
получает данные из формы в виде
параметра переменной среды QUERY_STRING.
Использование метода GET не
рекомендуется.
POST:
Данный метод передает всю информацию
о форме немедленно после обращения
к указанному URL. Ваша CGI-программа
получает данные из формы в стандартный
поток ввода. Сервер не будет
пересылать вам сообщение об
окончании пересылки данных в
стандартный поток ввода; вместо
этого используется переменная
среды CONTENT_LENGTH для определения,
какое количество данных вам
необходимо считать из стандартного
потока ввода. Данный метод рекомендуется
к использованию.
ACTION
ACTION
описывает URL, который будет
вызываться для обработки формы.
Данный URL почти всегда указывает
на CGI-программу, обрабатывающую
данную форму.
Тэги
формы
TEXTAREA
Тэг
<TEXTAREA> используется
для того, чтобы позволить пользователю
вводить более одной строки информации
(свободный текст). Вот пример
использования тэга <TEXTAREA>:
<TEXTAREA
NAME="address" ROWS=10
COLS=50>Москва,Осташковская
улица, д.23, офис 1 </TEXTAREA>
Атрибуты,
используемые внутри тэга <TEXTAREA>
описывают внешний вид и имя
вводимого значения. Тэг </TEXTAREA>
необходим даже тогда, когда
поле ввода изначально пустое.
Описание атрибутов:
NAME
— имя поля ввода
ROWS
— высота поля ввода в символах
COLS
— ширина поля ввода в символах
Если
вы хотите, чтобы в поле ввода
по умолчанию выдавался какой-либо
текст, то необходимо вставить
его внутри тэгов <TEXTAREA>
и </TEXTAREA>.
INPUT
Тэг
<INPUT> используется для
ввода одной строки текста или
одного слова. Атрибуты тэга:
CHECKED
— означает, что CHECKBOX или
RADIOBUTTON будет выбран.
MAXLENGTH
— определяет количество символов,
которое пользователи могут ввести
в поле ввода. При превышении
количества допустимых символов
броузер реагирует на попытку
ввода нового символа звуковым
сигналом и не дает его ввести.
Не путать с атрибутом SIZE.
Если MAXLENGTH больше чем SIZE,
то в поле осуществляется скроллинг.
По умолчанию значение MAXLENGTH
равно бесконечности.
NAME
— имя поля ввода. Данное имя
используется как уникальный
идентификатор поля, по которому,
впоследствии, вы сможете получить
данные, помещенные пользователем
в это поле.
SIZE
— определяет визуальный размер
поля ввода на экране в символах.
SRC
— URL, указывающий на картинку
(используется совместно с атрибутом
IMAGE).
VALUE
— присваивает полю значение
по умолчанию или значение, которое
будет выбрано при использовании
типа RADIO (для типа RADIO данный
атрибут обязателен)
TYPE
— определяет тип поля ввода.
По умолчанию это простое поле
ввода для одной строки текста.
Остальные типы должны быть явно,
их полный список приведен ниже:
CHECKBOX
Используется
для простых логических (BOOLEAN)
значений. Значение, ассоциированное
с именем данного поля, которое
будет передаваться в вызываемую
CGI-программу, может принимать
значение ON или OFF.
HIDDEN
Поля
данного типа не отображаются
броузером и не дают пользователю
изменять присвоенные данному
полю по умолчанию значение.
Это поле используется для передачи
в CGI-программу статической
информации, как то ID пользователя,
пароля или другой информации.
IMAGE
Данный
тип поля ввода позволяет вам
связывать графический рисунок
с именем поля. При нажатии мышью
на какую-либо часть рисунка
будет немедленно вызвана ассоциированная
форме CGI-программа. Значения,
присвоенные переменной NAME
будут выглядеть так — создается
две новых переменных: первая
имеет имя, обозначенное в поле
NAME с добавлением .x в конце
имени. В эту переменную будет
помещена X-координата точки
в пикселах (считая началом координат
левый верхний угол рисунка),
на которую указывал курсор мыши
в момент нажатия, а переменная
с именем, содержащимся в NAME
и добавленным .y, будет содержать
Y-координату. Все значения атрибута
VALUE игнорируются. Само описание
картинки осуществляется через
атрибут SRC и по синтаксису
совпадает с тэгом <IMG>.
PASSWORD
То
же самое, что и атрибут TEXT,
но вводимое пользователем значение
не отображается броузером на
экране.
RADIO
Данный
атрибут позволяет вводить одно
значение из нескольких альтернатив.
Для создания набора альтернатив
вам необходимо создать несколько
полей ввода с атрибутом TYPE=”RADIO”
с разными значениями атрибута
VALUE, но с одинаковыми значениями
атрибута NAME. В CGI-программу
будет передано значение типа
NAME=VALUE, причем VALUE примет
значение атрибута VALUE того
поля ввода, которое в данный
момент будет выбрано (будет
активным). При выборе одного
из полей ввода типа RADIO все
остальные поля данного типа
с тем же именем (атрибут NAME)
автоматически станут невыбранными
на экране.
RESET
Данный
тип обозначает кнопку, при нажатии
которой все поля формы примут
значения, описанные для них
по умолчанию.
SUBMIT
Данный
тип обозначает кнопку, при нажатии
которой будет вызвана CGI-программа
(или URL), описанная в заголовке
формы. Атрибут VALUE может содержать
строку, которая будет высвечена
на кнопке.
TEXT
Данный
тип поля ввода описывает однострочное
поле ввода. Используйте атрибуты
MAXLENGTH и SIZE для определения
максимальной длинны вводимого
значения в символах и размера
отображаемого поля ввода на
экране (по умолчанию принимается
20 символов).
Меню
выбора в формах
Под
меню выбора в формах понимают
такой элемент интерфейса, как
LISTBOX. Существует три типа
тэгов меню выбора для форм:
Select
— пользователь выбирает одно
значение из фиксированного списка
значений, представленных тэгами
OPTION. Данный вид представляется
как выпадающий LISTBOX.
Select
single — то же самое, что и
Select, но на экране пользователь
видит одновременно три элемента
выбора. Если их больше, то предоставляется
автоматический вертикальный
скроллинг.
Select
multiple — позволяет выбрать
несколько элементов из LISTBOX.
SELECT
Тэг
SELECT позволяет пользователю
выбрать значение из фиксированного
списка значений. Обычно это
представлено выпадающим меню.
Тэг
SELECT имеет один или более
параметр между стартовым тэгом
<SELECT> и завершающим
</SELECT>. По умолчанию,
первый элемент отображается
в строке выбора. Вот пример
тэга <SELECT>:
<FORM>
<SELECT
NAME=group>
<OPTION>
AT 386
<OPTION>
AT 486
<OPTION>
AT 586
</SELECT>
</FORM>
SELECT
SINGLE
Тэг
SELECT SINGLE — это то же самое,
что и Select, но на экране пользователь
видит одновременно несколько
элементов выбора (три по умолчанию).
Если их больше, то предоставляется
автоматический вертикальный
скроллинг. Количество одновременно
отображаемых элементов определяется
атрибутом SIZE. Пример:
<FORM>
<SELECT
SINGLE NAME=group SIZE=4>
<OPTION>
AT 386
<OPTION>
AT 486
<OPTION>
AT 586
<OPTIONS>
Pentium PRO
</SELECT>
</FORM>
SELECT
MULTIPLE
Тэг
SELECT MULTIPLE похож на тэг
SELECT SINGLE, но пользователь
может одновременно выбрать более
чем один элемент списка. Атрибут
SIZE определяет количество одновременно
видимых на экране элементов,
атрибут MULTIPLE — максимальное
количество одновременно выбранных
элементов. Пример:
<FORM>
<SELECT
SINGLE NAME=group SIZE=4 MULTIPLE=2>
<OPTION>
AT 386
<OPTION>
AT 486
<OPTION>
AT 586
<OPTIONS>
Pentium PRO
</SELECT>
</FORM>
Если
выбрано одновременно несколько
значений, то серверу передаются
соответствующее выбранному количество
параметров NAME=VALUE с одинаковыми
значениями NAME, но разными
VALUE.
Отправление
файлов при помощи форм
Формы
можно использовать для отправки
не только небольших информационных
сообщений в виде параметров,
а также и для отправки файлов.
Внимание!
Поскольку данная возможность
требует поддержки получения
файлов WEB-сервером, то, соответственно,
необходимо, чтобы сервер поддерживал
получение файлов!
Например:
<FORM
ENCTYPE="multipart/form-data"
ACTION="url" METHOD=POST>
Отправить
данный файл:
<INPUT
NAME="userfile" TYPE="file">
<INPUT
TYPE="submit" VALUE="Отправить
файл">
</FORM>
<FORM
action="http://pandemonium.cs.nstu.ru/~gun/docs/sites.htm"
encType="multipart/form-data"
method="post">
Отправить
данный файл:
<INPUT
name="userfile" type="file">
<INPUT
type="submit" value="Отправить
файл">
</FORM>
Следующий
урок
|