Формы предназначены для ввода информации пользователем с целью ее дальнейшей обработки специальными программами, расположенными на сервере. Например, можно использовать формы для проведения опросов или при разработке регистрационных форм. Или для оставления сообщения в гостевой книге. Определяются формы тэгом <FORM>. В одном документе может быть определено несколько форм для заполнения, но они не должны быть вложенными одна в другую.
Формат контейнера <FORM> следующий:
<FORM action="url" method="POST">...</FORM>
Тэг <FORM> имеет следующие атрибуты:
Внутри контейнера <FORM> могут находиться любые теги, кроме другого контейнера <FORM>. Для создания полей для ввода данных внутри формы применяют теги <INPUT>, <SELECT> и <TEXTAREA>.
Тег <INPUT> используется для задания простого элемента ввода, при этом могут быть использованы следующие атрибуты.
Тег <SELECT> предназначен для создания списков в форме, при этом внутри разрешена только последовательность тегов <OPTION>, за каждым из которых следует некоторое количество простого текста. Атрибуты тега <SELECT> следующие:
И, наконец, контейнер <TEXTAREA> может быть использован для расположения многострокового поля ввода с необязательным содержимым в форме. Основными атрибутами тега <TEXTAREA> являются:
Обработку данных, вводимых в формы, осуществляет программа, адрес которой указывается в атрибуте action="..." тэга <FORM>. Но далеко не все сервера, предоставляющее место для личных сайтов, разрешают работу таким программам, и сервер narod.ru не исключение. Поэтому для демонстрации примеров использовния форм мы будет отправлять содержимое формы не на сервер а по электронной почте адресату, которого вы сами укажите. Для этого в атрибуте action="..." прописывается макрокоманда отправки почтового сообщения:
<FORM ACTION="mailto:freeuser@mail.net"> ,
где freeuser@mail.net адрес электронной почты получателя. Для отправки содержимого формы в данном случае используется почтовая программа отправителя.
Теперь рассмотрим несколько примеров простейших форм ввода. В первой форме использован тег <INPUT> и несколько его атрибутов. Код формы приведен ниже:
<HTML>
<HEAD>
<title>Пример простейшей формы</title>
</HEAD>
<BODY>
<FORM method="POST" name="student"
action="mailto:freeuser@mail.net" enctype="text/plain">
<P>Введите Ваше имя
<INPUT type="text" name="Tl" size="45">
<P><INPUT type="radio" name="R1" value="V1">Учащийся ВУЗа
<P><INPUT type="radio" name="R1" value="V2">Другое
<P><INPUT type="submit" value="Отправить данные" name="B1">
<INPUT type="reset" value="Очистить форму" name="B2">
</FORM>
</BODY>
</HTML>
Посмотреть как будет выглядеть данная форма в работе можно на этой ссылке.
Следующая форма проиллюстрирует варианты использования тэга <SELECT>, создающего списки в форме. Код формы:
<HEAD>
<TITLE>Создание списка</TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>Выберите операционную систему, которую вы используете:</TD>
<TD>Выберите операционную систему, которую вы используете:</TD>
<TD>Выберите операционную систему, которую вы используете:</TD>
</TR>
<TR>
<TD>
<FORM>
<SELECT>
<OPTION>Windows 3.11
<OPTION>Windows 95
<OPTION>Windows 98
<OPTION>Windows Me
<OPTION>Windows NT
<OPTION>Windows 2000
<OPTION>Windows XP
<OPTION>Linux
<OPTION>Unix
<OPTION>QNX
</SELECT>
</FORM>
</TD>
<TD>
<FORM>
<SELECT size=3>
<OPTION>Windows 3.11
<OPTION>Windows 95
<OPTION>Windows 98
<OPTION>Windows Me
<OPTION>Windows NT
<OPTION>Windows 2000
<OPTION>Windows XP
<OPTION>Linux
<OPTION>Unix
<OPTION>QNX
</SELECT>
</FORM>
</TD>
<TD>
<FORM>
<SELECT multiple>
<OPTION>Windows 3.11
<OPTION>Windows 95
<OPTION>Windows 98
<OPTION>Windows Me
<OPTION>Windows NT
<OPTION>Windows 2000
<OPTION>Windows XP
<OPTION>Linux
<OPTION>Unix
<OPTION>QNX
</SELECT>
</FOBM>
</TD>
<TR>
</TABLE>
</BODY>
</HTML>
А вот так будет выглядеть сама эта форма.
И последний пример иллюстрирует создание текстовой области в форме:
<HTML>
<HEAD>
<TITLE>Соэдание простой формы для ввода текста</TITLE>
</HEAD>
<BODY>
Ваши предложения о работе сайта просьба оставлять здесь:<BR>
<FORM method="POST" name="student"
action="mailto:freeuser@mail.net" enctype="text/plain">
<TEXTAREA name="textform" rows="10" cols="50">
</TEXTAREA>
<p><input type="submit" value= "Отправить" name="Bl">
<input type="reset" value="Очистить" name="B2">
</FORM>
</BODY>
</HTML>
Объект <TEXTAREA> имеет полосы прокрутки, так что может быть введено любое количество текста. Содержание по умолчанию должно быть ASCII-текстом, при этом символы перевода строки воспринимаются. Если контейнер <TEXTAREA> пуст, то в текстовой области ничего не отображается, однако если между тегами <TEXTAREA> и </TEXTAREA> заключить какой-либо текст, то он будет выводиться при загрузке страницы.
Я рассказал Вам о создании форм, потому что эти сведения понадобятся нам,
когда мы будем изучать, как можно
изменить дизайн предлагаемой гостевой книги.