Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / !!! ИТ Архив / Лекции / 5_C G I / Лекция 2 - Обзор CGI.doc
Скачиваний:
28
Добавлен:
04.04.2013
Размер:
169.47 Кб
Скачать

Кнопки передачи

Назначение кнопки передачи (<input type=submit>) полностью соответствует ее названию: с помощью этой кнопки обеспечивается передача формы из браузера на сервер. Форма может содержать более одной кнопки передачи. В этот элемент можно включать атрибуты name и value.

В самом тривиальном варианте определения кнопки передачи (т.е. без атрибутов name и value) браузер отображает ее в виде небольшого прямоугольника или овала со стандартной надписью "Submit". Если задан атрибут value данного тега, то в качестве надписи используется текст, который является значением этого атрибута. Если указан атрибут name, то значение атрибута value кнопки передачи добавляется к списку параметров, который браузер посылает серверу.

Кнопки сброса

Название кнопки сброса (значение reset атрибута type тега <input>) тоже, как и в случае предыдущего элемента, отражает ее назначение. С помощью этой кнопки пользователь может сбросить (т.е. стереть или установить равными некоторым стандартным значениям) все элементы формы. По умолчанию браузер отображает кнопку сброса с надписью "Reset" (или "Clear"). Пользователь может задать и другую надпись на кнопке (для этого следует воспользоваться атрибутом value).

Специальные кнопки

Пользуясь значением image атрибута type элемента формы <input>, можно создать специальную кнопку, представляющую собой чувствительное к щелчку мыши изображение. Это кнопка особого вида, которая формируется на основе изображения, заданного пользователем. Когда пользователь выполняет на такой кнопке щелчок мышью, браузер, включив в список параметров формы координаты (х, у) указателя мыши, передает форму на сервер. При задании кнопки-изображения требуется атрибут src с универсальным локатором ресурса файла изображения. Можно, кроме того, указывать атрибут name. Можно также задавать атрибут align (он подобен атрибуту align в теге <img>), которым задается выравнивание изображения относительно текущей строки текста.

Скрытые поля

С помощью последнего из рассматриваемых в этой главе элементов <input> реализуется возможность встраивать в формы информацию, на способ обработки которой не могут повлиять ни браузер, ни пользователь. Эта информация в любом случае будет передаваться на сервер, и изменять ее также нельзя. Значения обязательных атрибутов name и value тега <input type=hidden> автоматически включаются в список параметров передаваемой формы. Они служат для "маркирования" формы. Такое "маркирование" оказывается очень полезным при выборе разных форм или вариантов формы из совокупности переданных и сохраненных форм.

Тег <textarea>

Тег <textapea> служит для создания многострочной области, предназначенной для ввода текста в окне браузера. В этой области пользователь может ввести практически неограниченное количество строк текста. При передаче формы браузер посылает этот текст вместе с его именем, заданным обязательным атрибутом name.

Между тегом <textarea> и соответствующим конечным тегом </textarea> можно помещать обычный текст. Браузер использует этот текст для отображения в области ввода текста по умолчанию.

Для указания размеров многострочной текстовой области предназначены атрибуты cols и rows. Значениями этих атрибутов определяется видимая прямоугольная область для многострочного ввода.

Как правило, текст, который пользователь вводит в сформированную область ввода, передается на сервер в неизменном виде, при этом в позициях, соответствующих нажатиям клавиши [Enter], вставляется признак конца строки. Если атрибуту wrap присвоено значение virtual, то вводимый пользователем текст размещается в пределах текстовой области так, чтобы пользователь мог его видеть, но на сервер передается в таком виде, в каком был введен (признак конца строки вставляется только в позициях, соответствующих нажатиям клавиши [Enter]). Если атрибуту wrap присвоено значение physical, то текст размешается в пределах текстовой области так же, как и при задании значения virtual, но на сервер передается в том виде, в каком его видит пользователь (признаки конца строки вставляются также и в местах переноса). По умолчанию для атрибута wrap используется значение off.

Тег <select>

Опции и селекторные кнопки — это мощные инструменты для создания форм, обеспечивающих многовариантность вопросов и ответов. Но следует учитывать, что злоупотребление такими возможностями может привести к тому, что размеры формы значительно возрастут и заполнение ее превратится в достаточно утомительный процесс. С помощью тега <select> реализуются два компактных варианта таких форм: ниспадающие меню и прокручиваемые списки.

Ниспадающее меню создается путем помещения списка элементов с тегами <option> в тег формы <select>.

Как и для других тегов формы, здесь необходим атрибут name. Браузер использует его при передаче на сервер элементов <select>. Ниспадающее меню, в отличие от группы селекторных кнопок, не содержит предварительно выделенных элементов, поэтому если пользователь ничего не выделил, то при передаче формы никакие значения на сервер не передаются. В противном случае браузер передает значение выделенного элемента или создает из значений нескольких выделенных элементов один общий список параметров, отделяя их друг от друга запятыми. Вместе с данными формы <select> на сервер передается и значение атрибута name.

Чтобы обеспечить возможность одновременного выбора нескольких элементов меню, в тег <select> следует включить атрибут multiple. В этом случае работа с элементами меню будет организована так же, как и в группе опций, задаваемых с помощью тегов <input type=checkbox>. Если атрибут multiple не задан, в ниспадающем меню можно выбрать только один элемент, как в группе селекторных кнопок.

Атрибутом size задается количество одновременно отображаемых элементов меню. Значением атрибута size должно быть положительное целое число. Если значение атрибута size равно 1, а аргумент multiple не задан, то список <select> обычно отображается как всплывающее меню. Если задано значение, превышающее 1, или указан атрибут multiple, список элементов <select> будет представлен в виде прокручиваемого списка.

Элементы тега <select> определяются с помощью тегов <option>. Браузер отображает содержимое тега <option> как элемент меню или прокручиваемого списка, поэтому между указанными тегами должен размещаться только текст без разметки.

Значение каждого элемента, которое браузер посылает на сервер при выборе элемента пользователем, задается с помощью атрибута value. Если атрибут value не задан, то значение элемента устанавливается равным содержимому тега <option>.

По умолчанию все элементы многовариантного тега <select> отображаются как невыделенные. Чтобы элемент отображался как предварительно выделенный (таких элементов может быть несколько), нужно включить в соответствующий тег <option> атрибут selected (без значения). Пользователь может либо отменить выделение этого элемента (или элементов), либо оставить все как есть. Если ни в одном из тегов <option> тега <select> не задан атрибут selected, при отображении выделяется первый элемент.