2. Html-формы
С помощью средств HTML можно создавать формы для ввода информации посетителем Web-страницы.
Тэг <FORM>
Описание формы помещается между тэгами <FORM> и </FORM>. На странице одновременно может располагаться несколько форм, однако они не могут быть вложены одна в другую.
Атрибуты
METHOD. Задает метод – GET или POST. По умолчанию предполагается GET. Хотя большинство из существующих форм использует метод POST Различия между GET и POST, а также ситуации, в которых следует использовать тот или иной метод, будут рассмотрены при изучении CGI-программирования.
ACTION. Задает имя программы, которая будет обрабатывать форму.
ENCTYPE. Задает метод кодирования (обычно не задается). По умолчанию равен "application/x-www-form-urlencoded".
NAME. Задается для JavaScript, чтобы иметь возможность обращаться к форме по имени, а не по номеру.
TARGET. Задается во фреймосодержащих документах. Определяет, в какой фрейм отправить полученную информацию.
ONSUBMIT. Задает JavaScript-обработчик проверки правильности заполнения формы. Так как JavaScript-обработчик срабатывает локально, процесс происходит достаточно быстро. Это намного лучше, чем многократно гонять данные по сети из-за того, что растяпа-пользователь в очередной раз некорректно заполнил какое-то поле.
accept-charset. Список кодировок для вводимых данных, принимаемых сервером, обрабатывающим данную форму. Помогает в ситуации, когда страницы сайта в одной кодировке, а данные нужно отправить в другой. Или когда браузер неправильно автоопределил кодировку. Например: accept-charset="cp1251" или accept-charset="utf8"
Контейнер <FORM>…</FORM> существует не сам по себе. Посылаемые данные содержатся в специальных элементах формы – элементах управления. Именно с ними взаимодействует пользователь, вводя данные.
Элементы форм (области редактирования текста, поля ввода, меню) позволяют посетителям вводить различную информацию и выбирать нужные опции.
Текстовая область - <TEXTAREA>
Это область для ввода многострочной текстовой информации. В контейнере <TEXTAREA>…</TEXTAREA> допускается размещать любой текст, который будет выведен в поле ввода по умолчанию.
Атрибуты
NAME. Задает название информации. Обязательный атрибут.
ROWS. Задает высоту поля, т.е. число строк в нём.
COLS. Задает ширину поля, т.е. длину строки.
disabled. Запрещает доступ пользователя к элементу формы. Поле не может быть выбрано. Значение не отправляется на сервер.
readonly. Объявляет поле только для чтения. Поле доступно для выбора, но не может быть изменено.
Хотя атрибуты ROWS и COLS не являются обязательными, они не имеют определенных значений по умолчанию (для каждого броузера эти значения различны), поэтому лучше их всегда указывать.
Список - <SELECT>
Предназначен для создания меню, из которого пользователь может выбрать один или несколько из предложенных вариантов.
Атрибуты
NAME. Задает имя поля. Обязательный атрибут.
SIZE. Задает вертикальный размер окна для вариантов выбора. Если атрибут опущен или его значение равно 1, выводится всплывающий список вариантов. Если указано число больше 1, то варианты выводятся в окне с полосой прокрутки. Если значение атрибута больше, чем фактическое количество элементов списка, добавляются пустые строки. При их выборе пользователем возвращаются пустые поля.
MULTIPLE. Этот атрибут позволяет выбрать несколько вариантов одновременно. Следует обратить внимание, что при множественном выборе в потоке данных от одной формы может присутствовать несколько переменных с одним и тем же именем. Ваша программа обработки должна предусматривать подобные ситуации и корректно их обрабатывать.
Список вариантов включается в контейнер <SELECT>…</SELECT> при помощи тэгов <OPTION>. Тэг имеет два необязательных атрибута:
VALUE. Задает значение, передаваемое сценарию в случае выбора варианта пользователем. Если этот атрибут отсутствует, то в сценарий будет отослан текст, расположенный сразу после тэга <OPTION>.
DISABLED. Блокирует вариант для его выбора.
SELECTED. Указывает вариант, выделенный по умолчанию.
OPTGROUP
OPTGROUP - позволяет группировать пункты в элементе SELECT. В этом случае добавляются отступы и названия каждой группы, так что пользователю при выборе необходимого пункта ориентироваться гораздо проще. Название группы задается в атрибуте LABEL элемента OPTGROUP.
<INPUT>
Чаще всего в формах используется тэг <INPUT>. Он не имеет закрывающего тэга. Вся информация, необходимая броузеру для обработки, содержится непосредственно в тэге <INPUT> и задается с помощью различных атрибутов.
