HTML формы можно использовать для отсылки данных через Интернет и часто используются для организации обратной связи с пользователями.
Сами по себе формы совершенно бесполезны. Они должны быть всегда связаны с программами или скриптами, которые будут обрабатывать введенные пользователем данные. Однако этот вопрос лежит за пределами темы данного учебника.
Основные теги, используемые для создания HTML форм, - это тег <form>, тег <input>, тег <textarea>, тег <select> и тег <option>.
Тег <form> создает форму. Он требует наличия одного обязательного атрибута – action. В этом атрибуте указывается адрес, по которому форма будет отсылать свои данные после того, как пользователь отдаст команду "отправить".
Необязательный атрибут method указывает на то, каким образом должны отсылаться данные формы. Он может принимать два значения – get (значение по умолчанию) и post. При последнем значении данные во время отсылки скрываются (при значении get данные формы прикрепляются к URL).
Таким образом, элемент формы будет иметь приблизительно следующий вид:
<form action='processingscript.php' method='post'>
...
</form>
Тег <input> – это основа всего мира форм. Он может быть десяти видов:
- <input type="text" /> - стандартное текстовое поле. Также здесь может присутствовать атрибут value, который определяет текст по умолчанию, заданный в текстовом поле.
- <input type="password" /> - то же текстовое поле, однако вводимые пользователем символы будут скрыты.
- <input type="checkbox" /> - создает поле выключателей (checkbox) или флажков, которые пользователь может либо включить, либо отключить. Также здесь можно использовать атрибут checked, который используется в формате <input type="checkbox" checked="checked" /> и который задает начальное состояние флажка "включен".
- <input type="radio" /> - создает поле переключателей, которые очень похожи на флажки, однако в этом случае пользователь может выбрать только один объект в группе переключателей. Здесь также можно использовать атрибут checked, который задается аналогичным образом, как и в случае с флажками.
- <input type="file" /> - создает поле ввода, которое показывает файлы на вашем компьютере подобно тому, как вы открываете или сохраняете документы в большинстве программ. Оно позволяет пользователям загружать файлы на сервер.
- <input type="submit" /> - создает кнопку отправки данных формы программе-обработчику. Можно самому задавать текст, который будет отображаться на кнопке отправки (то же самое можно сделать и с типами button и reset – см.ниже). Это делается при помощи атрибута value, например, <input type="submit" value="Ого. Надпись на кнопке" />.
- <input type="image" /> - создает специальную кнопку отправки, в качестве которой будет использоваться активное изображение. При этом серверу кроме данных формы еще отправляются и координаты (x, y) нажатия мыши на изображение. Также необходимо указывать атрибут src, который играет ту же роль, что и в теге <img>.
- <input type="button" /> - создает кнопку, которая без дополнительного кода ничего не будет делать.
- <input type="reset" /> - создает кнопку, которая при нажатии на нее возвращает все поля формы к значениям по умолчанию.
- <input type="hidden" /> - создает поле, которое не отображается в окне браузера. Оно используется для передачи различной вспомогательной информации, например, имени страницы, на которой находится пользователь, или электронный адрес, куда должна пересылаться форма.
Обратите внимание, что тег <input> закрывает сам себя при помощи конструкции "/>".
Тег <textarea> – создает многострочную область ввода текста. Он требует использование атрибутов rows и cols, которые задают размер области ввода:
<textarea rows="5" cols="20">Здесь вводят много текстовой информации</textarea>
Тег <select> и тег <option> используются для создания разворачивающего или выпадающего меню. Они работают следующим образом:
<select>
<option value="first option">Опция 1</option>
<option value="second option">Опция 2</option>
<option value="third option">Опция 3</option>
</select>
При отправке данных формы посылается выбранный элемент списка.
Аналогично атрибуту checked в флажках и переключателях тег <option> может иметь атрибут selected:
<option value="mouse" selected="selected">Грызун</option>
Все упомянутые выше теги будут корректно отображаться на веб-странице, однако если попытаться обработать соответствующей программой, то ничего не получится. Это произойдет, потому что всем полям формы необходимо присвоить имена. Имена присваиваются при помощи атрибута name, который необходимо добавить каждому полю формы. Например,
<input type="text" name="talkingsponge" />
Форма может иметь, например, следующий вид. (Внимание: форма не будет работать до тех пор, пока не будет реализован скрипт "contactus.php", указанный в атрибуте action тега <form>, и который обрабатывает передаваемые данные.)
<form action='contactus.php' method="post">
<p>Имя:</p>
<p><input type="text" name="name" value="Ваше имя" /></p>
<p>Комментарий: </p>
<p><textarea name="comments" rows="5" cols="20">Ваш комментарий</textarea></p>
<p>Вы:</p>
<p><input type="radio" name="areyou" value="male" /> Мужчина</p>
<p><input type="radio" name="areyou" value="female" /> Женщина</p>
<p><input type="radio" name="areyou" value="hermaphrodite" /> Ни то ни другое</p>
<p><input type="submit" /></p>
<p><input type="reset" /></p>
</form>
Для начала этой информации будет вполне достаточно. Позднее вы узнаете, как создавать формы с более широкими возможностями.