div.main {margin-left: 20pt; margin-right: 20pt}
Все значения элементов форм
NAS, Webscript.ru
В следующей таблице перечислены все возможные элементы ввода, которые
используются в формах.
Тип
Описание
TEXT |
Поле ввода текста |
SELECT |
Выбор из списка. |
RADIO |
Радио-кнопка. Используется для выбора одного из предложенных
вариантов. |
CHECKBOX |
Кнопка-флажок. Используется для выбора варианта. |
SUBMIT |
Кнопка, которая инициирует вызов обработчика формы. |
IMAGE |
Изображение. Используется как кнопка типа SUBMIT |
<TEXTAREA> |
Область ввода текста. |
|
Теперь рассмотрим как значения и состояния этих элементов передаются
в обработчик.
TEXT - здесь все просто. Введенное значение
передается в виде: имя=значение
(для удобства будем предполагать, что метод передачи значений установлен
в GET). В обработчике значение можно получить
из переменной $имя.
SELECT - значение берется из атрибута VALUE
выбранного элемента <OPTION>. Например для
<SELECT> такого вида:
<SELECT NAME="mySelect">
<OPTION VALUE="test1">test1</OPTION>
<OPTION VALUE="test2">test2</OPTION>
<OPTION VALUE="test3">test3</OPTION>
</SELECT>
строка будет содержать mySelect=test1, в случае
выбора первого элемента списка. Переменная в скрипте будет выглядеть так:
$mySelect.
Элемент <SELECT> может иметь атрибут MULTIPLE,
что позволяет выбирать несколько значений из списка. В этом случае к имени
элемента <SELECT> необходимо добавить пару
квадратных скобок: имя[]. Строка будет
выглядеть так: имя[]=значение&имя[]=значение...,
а в скрипте доступ к выбранным значениям можно осуществить, как к элементам
массива $имя.
В случае, если не заданы атрибуты VALUE, то
передаваться будет то, что содержиться между тэгами <OPTION>
и </OPTION>.
RADIO - Здесь значение будет браться из атрибута
VALUE, строка выглядит аналогично элементу типа
TEXT. Доступ из скрипта, тоже аналогичен. Если
вы забыли установить это значение, то будет передано значение on
CHECKBOX - если флажок установлен, то передается
значение on, если флажок не установлен, то переменная
не передается вобще. Таким образом, установку флажка в скрипте можно проверить,
сравнив значение переменной $имя с "on".
Переменная и строка выглядят аналогично элементу типа TEXT.
SUBMIT - кнопка SUBMIT,
как ни странно, тоже может передавать значение в обработчик. Я не могу
себе предствить зачем это нужно, но тем не менее. Значение устанавливается
из атрибута VALUE. Все остальное аналогично полю
типа TEXT.
IMAGE - Самый интересный элемент. В обработчик
передаются два значения: имя.x и имя.y,
которые представляют собой координату указателя мыши относительно верхнего
левого угла изображения. Строка выглядит следующим образом: имя.x=значение&имя.y=значение.
В скрипте устанавливаются переменные $имя_x
и $имя_y.
<TEXTAREA> - абсолютно аналогично элементу
типа TEXT.
При пересылки строковых значений они перекодируются специальным образом.
Все символы, кроме алфавитно-цифровых и знака подчеркивания "_" заменяются
знаком процента "%" и двумя шестнадцетиричными цифрами кода. Пробелы заменяются
на знак "+". При установке переменных в скрипте производится обратное
декодирование.
Еще одну интересную особенность предоставляет PHP. Мы можем каждому элементу
присвоить имя переменной массива. Например:
<FORM NAME="testForm" ACTION="test.php3">
name: <INPUT TYPE="text" NAME="personal[name]"><BR>
e-mail: <INPUT TYPE="text" NAME="personal[email]"><BR>
<INPUT TYPE="SUBMIT">
</FORM>
В этом случае мы сможем получить доступ к значениям, обращаясь к элементам
ассоциативного массива: $personal["name"] и $personal["email"].
Кроме того, если включена директива PHP <?php_track_vars?>,
то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS
и $HTTP_POST_VARS, для соответствующих методов
передачи переменных в обработчик.
|