4. Формы и фреймы
В данной главе рассматриваются два сцецифических раздела HTML. В первом описано использование форм
ввода данных в HTML-документах, для разработки интерфеса между пользователем Web-броузера и
приложениями сервера, а во втором разделе рассматривается технология фреймов.
4.1. Использование форм в документах
Формы на WEB -страницах используются для организации обмена данными между пользователем
броузера и Web-сервером. Данные, введенные пользователем в формах ввода, передаются при
помощи специальных методов технологии клиент/сервер, в CGI сценарий обработки данных Web-сервера
(См. раздел 5.1.).
Для размещения форм в HTML применяется контейнерный тег
FORM
...
/FORM
,
заключающий в себе составные элементы формы: текстовые поля, списки, поля ввода данных, флажки,
переключатели и кнопки. Тег
FORM
имеет следующие атрибуты:
- NAME - имя формы;
- METHOD - метод отправки данных на сервер.
GET - передача данных посредством переменных окружения сервера,
POST - передача данных в стандартном потоке ввода/вывода сервера;
- ACTION - URL получателя данных. В качестве получателя данных может
выступать CGI сценарий обработки данных или ссылка на адрес электронной почты
- mailto:e-mail;
- TARGET - окно назначение для отображения результатов обработки данных на
Web-сервере (по умолчанию текущее окно);
Например:
FORM NAME="Order" METHOD="GET" ACTION="/cgi-bin/get_order.pl"
/FORM
FORM NAME="Comment" ACTION="mailto:[email protected]"
/FORM
Кроме вышеперечисленных элементов форм в контейнере
FORM
...
/FORM
могут находиться теги HTML задающие форматирование элементов формы и ее структуру.
Рассмотрим элементы форм:
Текстовые панели
Текстовые панели определяются при помощи контейнерного тега
TEXTAREA
...
/TEXTAREA
.
Текст заключенный в данный контейнер является содержимым данного элемента. Для определения
параметров текстовых панелей, применяются следующие атрибуты:
- NAME - имя элемента формы;
- TITLE - подсказка в стиле ToolTip;
- TABINDEX - номер элемента в форме, для переходов следующий/предыдущий;
- ROWS - число строк текстовой панели;
- COLS - число столбцов текстовой панели;
- READONLY - содержимое текстовой панели не редактируется;
- DISABLED - данный элемент формы не доступен (элемент затеняется
и исключается при переходах от элемента формы к элементу);
Пример:
FORM NAME="txa_form"
TEXTAREA NAME="ta1" TITLE="Textarea 1" ROWS=3 COLS=25
Текстовая панель 1
/TEXTAREA
TEXTAREA NAME="ta2" TITLE="Textarea 2" ROWS=3 COLS=25 READONLY
Текстовая панель 2
/TEXTAREA
TEXTAREA NAME="ta3" TITLE="Textarea 3" ROWS=3 COLS=25 DISABLED
Текстовая панель 3
/TEXTAREA
/FORM
Раскрывающиеся списки
Раскрывающиеся списки определяются при помощи контейнерного тега
SELECT
...
/SELECT
.
Для определения параметров раскрывающегося списка, применяются следующие атрибуты:
- NAME - имя элемента формы;
- TITLE - подсказка в стиле ToolTip;
- TABINDEX - номер элемента в форме, для переходов следующий/предыдущий;
- SIZE - длина списка (число строк раскрывающегося списка );
- MULTIPLE - выбор значений в списке с данным атрибутом осуществляется в
прокручиваемом окне;
- DISABLED - данный элемент формы не доступен (элемент затеняется
и исключается при переходах от элемента формы к элементу );
Элементы списка задаются при помощи тега
OPTION
, со следующими атрибутами:
- VALUE - значение для отправки серверу (значение отображаемое в списке задается
после тега
option
);
- SELECTED - данный атрибут задает элемент отображаемый как начальный выбор в списке;
Пример:
FORM NAME="sel_form"
SELECT NAME="sel1" TITLE="Select 1" SIZE=1
OPTION VALUE="DJ310" SELECTED
HP Desk Jet 310
OPTION VALUE="DJ440"
HP Desk Jet 440
OPTION VALUE="DJ690"
HP Desk Jet 690
/SELECT
SELECT NAME="sel2" TITLE="Select 2" SIZE=1 DISABLED
!-- нет на скдаде --
OPTION VALUE="FX1170" SELECTED
Epson FX-1170
OPTION VALUE="LX300"
Epson LX-300
OPTION VALUE="LX100"
Epson LX-100
/SELECT
/FORM
Поля ввода данных, флажки, переключатели и кнопки
Данные элементы форм определяются при помощи тега
INPUT
. Тип элемента
задается при помощи атрибута TYPE, который может принимать следующие значения:
TEXT - текстовое поле ввода;
PASSWORD - поле ввода пароля (вводимые символы заменяются звездочками );
CHECKBOX - элемент флажок;
RADIO - элемент переключатель;
BUTTON - элемент управления-кнопка (используется для выполняется сопоставленного ей
обработчика события onClick - сценария интерактивного управления, выполняемого броузером );
RESET - элемент управления-кнопка при нажатии на которую броузер очищает форму, от
введенных пользователем значений;
SUBMIT - элемент управления-кнопка при нажатии нам которую броузер отправляет данные,
введенные пользователем в форму, на обработку серверу (атрибут action ), заданным
методом (атрибут method).
Для определения параметров элементов и их значений, применяются следующие атрибуты:
- NAME - имя элемента формы. Элементы переключатели (radio) с одинаковым
значением данного атрибута, объединяются в группу переключателей, работающих по принципу
- выбор одного варианта из многих;
- TITLE - подсказка в стиле ToolTip;
- TABINDEX - номер элемента в форме, для переходов следующий/предыдущий;
- SIZE - размер поля ввода для элементов текстовых полей (text) и полей
ввода пароля (password);
- MAXLENGHT - максимальная длина данных для элементов текстовых полей (text) и
полей ввода пароля (password);
- VALUE - для элементов кнопок (button, reset, submit) задает надпись,
для элементов полей ввода (text, password) задает начальное значение поля, а
для флажков и переключателей (radio, checkbox) задает значение передаваемое на
обработку серверу;
- CHECKED - атрибут включает флажок или переключатель;
- READONLY - используется для запрета редактирования элементов полей ввода
(text, password);
- DISABLED - данный элемент формы не доступен (элемент затеняется и исключается
при переходах от элемента формы к элементу);
Пример:
FORM NAME="inp_form"
INPUT TYPE="text" NAME="text1" SIZE=20 MAXLENGTH=30
INPUT TYPE="password" NAME="pass1" SIZE=5 MAXLENGTH=5
INPUT TYPE="checkbox" NAME="cbox1" VALUE="м" CHECKED
мужской
INPUT TYPE="checkbox" NAME="cbox2" VALUE="ж"
женский
INPUT TYPE="radio" NAME="rad1" VALUE="young"
10-18 лет
INPUT TYPE="radio" NAME="rad1" VALUE="adult" CHECKED
19-60 лет
INPUT TYPE="radio" NAME="rad1" VALUE="old"
60-80 лет
INPUT TYPE="radio" NAME="rad1" VALUE="decrepit" DISABLED
80-100 лет
INPUT TYPE="button" NAME="but1" VALUE="Нажми меня"
INPUT TYPE="reset" NAME="but2" VALUE="Очистка формы"
INPUT TYPE="submit" NAME="but3" VALUE="Отправить данные"
/FORM
Постараемся рассмотреть основные элементы форм на примере HTML-документа, в котором пользователь
заполняет специальную анкету. Т.к. на нашем сервере нет CGI-сценария (мы его не разработали)
для обработки данных из формы, мы используем метод отправки данных по электронной почте.
Пример 8. Использование форм ввода данных. [просмотр примера в окне]
HTML
HEAD
TITLE
Использование форм в документах
/TITLE
/HEAD
BODY BGCOLOR ="WHITE", TEXT="BLACK", LINK="BLUE", ALINK="RED", VLINK="NAVY"
H1 ALIGN=CENTER
Заполните пожалуйста анкету
/H1
HR
FORM NAME="anketa" ACTION="mailto:[email protected]"
table width="100%" align=center
col width="35%" align=left valign=top
col align=left valign=top
tr
th
Введите ваше ФИО:
td
INPUT TYPE="text" NAME="fio" SIZE=30 MAXLENGTH=40
tr
th
Введите пароль:
td
INPUT TYPE="password" NAME="pas" SIZE=5 MAXLENGTH=5
tr
th
Ваш род занятий:
td
SELECT NAME="work" TITLE="Род занятий" SIZE=1
OPTION VALUE="ittec" SELECTED
Инф. технологии
OPTION VALUE="bifin"
Бизнес и финансы
OPTION VALUE="other"
Прочее
/SELECT
tr
th
Пол:
td
INPUT TYPE="radio" NAME="sex" VALUE="men" CHECKED
Мужской
INPUT TYPE="radio" NAME="sex" VALUE="led"
Женский
tr
th
Сведения об образовании:
td
TEXTAREA NAME="edu" TITLE="Образование" ROWS=5 COLS=30
/TEXTAREA
tr
th
Ваши предпочтения
br
(один или несколько вариантов):
td
INPUT TYPE="checkbox" NAME="cbox1" VALUE="1" CHECKED
все равно
br
INPUT TYPE="checkbox" NAME="cbox2" VALUE="2"
работа с клиентами
br
INPUT TYPE="checkbox" NAME="cbox2" VALUE="3"
работа с документами
br
INPUT TYPE="checkbox" NAME="cbox2" VALUE="4" DISABLED
работа в одиночку
/table
p align=center
INPUT TYPE="reset" NAME="but2" VALUE="Очистить форму"
INPUT TYPE="submit" NAME="but3" VALUE="Отправка данных"
/FORM
HR
P ALIGN=CENTER
© 2001 Вебмастер
A HREF="mailto:[email protected]"
Попробуй связаться со мной
/A
/BODY
/HTML
В заключении рассмотрим область применения форм в HTML-документах. Наиболее часто они применяются для
разработки интерфейса следующих приложений: поисковые службы, информационные базы данных,
онлайновые справочники, заказные центры на товары и услуги, гостевые и регистрационные книги
пользователей в различных электронных службах, различные финансовые и бизнес приложения в Web.