РНР 5 в подлиннике

Страница 46 из 554


94

Часть I. Основы Web-программирования

Кнопка сброса формы (reset)

<input type=reset value=reKcr кнопки

>

Пожалуй, это самый простой элемент формы. Тег создает кнопку, при нажатии которой все элементы формы в браузере будут сброшены (точнее, установлены в то состояние, которое было задано в их атрибутах по умолчанию). Причем отправка формы не производится, т. е. для сценария кнопка reset незаметна.

Специалисты в области Web-эргономики не рекомендуют применять reset-кнопки на страницах, поскольку они сильно запутывают пользователя.

Рисунок для отправки формы (image)

<input type=image [пате=имя] Бгс=иэображение

Создает рисунок, при щелчке на котором будет происходить то же, что и при нажатии кнопки submit, за тем исключением, что сценарию также будут переданы координаты в пикселах места, где произведен щелчок (отсчитываемые от левого верхнего угла рисунка). Придут они в форме: имя.х=х&имя.у=у, где (х, у) — координаты точки. Если же атрибут name не задан, то координаты поступят в формате: х=х&у=г".

Тег <textarea>— многострочное поле ввода текста

Теперь посмотрим, что же собой представляет тег <textarea>. Смысл у него тот же, что и у <input type=text>, разве что может быть отправлена не одна строка текста, а сразу несколько. Формат тега следующий:

<textarea пате=имя

[со1Б=ширина] [rows=BHcoTa] [wrap=тип]

>Текст, который будет изначально отображен в текстовом ncwe</textarea>

Как легко видеть, этот тег имеет закрывающий парный. Параметр cols задает ширину поля ввода в символах, a rows — его высоту. Параметр wrap определяет, как будет выглядеть текст в поле ввода. Он может иметь одно из трех значений (по умолчанию подразумевается попе).

□ virtual — наиболее удобный тип вывода. Справа от текстового поля выводится полоса прокрутки, и текст, который набирает пользователь, внешне выглядит разбитым на строки в соответствии с шириной поля ввода, причем перенос осуществляется по словам. Однако символ новой строки вставляется в текст только при нажатии клавиши <Enter>.

>

Гпава 3. CGI изнутри

95

□ Physical — зависит от реализации браузера, обычно очень похож на попе.

□ None — текст отображается в том виде, в котором заносится. Если он не умещается в текстовое поле, активизируются полосы прокрутки (в том числе и горизонтальная).

После отправки формы текст, который ввел пользователь, будет, как обычно, представлен парой имя "текст, анЭЛОГИЧНО Тегу ОДНОСТРОЧНОГО поля ВВОДа <input type=text>.

Тег <select>— список

У нас оогался последний тег — <seiect>. Он представляет собой выпадающий (или раскрытый) список. Одновременно может быть выбрана одна или несколько строк. Формат тега следующий:

<select пате=имя [size=pa3Mep] [multiple]>

<option [уа1ие1=значение1][selected]>CTpoKal</option> <option [ча1ие2=значение2][selected]>CTpoKa2</option>

<option [valueN=значением] [selected] > СтрокаЬК / option> </select>

Мы видим, Что и этот тег имеет парный закрывающий. Кроме того, его существование немыслимо без тегов <option>, которые и определяют содержимое списка.

Параметр size задает, сколько строк будет занимать список. Если size равен 1, то список будет выпадающим, в противном случае — занимает size строк и имеет полосы прокрутки. Если указан атрибут multiple, то будет разрешено выбирать сразу несколько элементов из списка, а иначе — только один. Кроме того, атрибут multiple не имеет смысла для выпадающего списка.

Каждая строка списка определяется своим тегом <option>. Если в нем задан атрибут value, как это часто бывает, то соответствующая строка списка будет идентифицироваться его значением, а если не задан, то самим текстом этой строки (считается, что значение value равно самой строке). Кроме того, если указан параметр selected, то данная строка будет изначально выбранной. Кстати, чуть не забыли: закрывающие теги </option> можно опускать, если упрощение не создает конфликтов с синтаксисом HTML (в действительности это можно делать почти всегда).

Давайте теперь посмотрим, в какой форме пересылаются данные списка сценарию. Ну, со списком одиночного выбора вроде бы ясно — просто передается пара имя-значение, где имя — имя тега <select>, а значение — идентификатор выбранного элемента (т. е. либо атрибут value, либо сама строка элемента списка).

Списки множественного выбора (multiple)

В какой форме приходят данные сценарию, если был создан multiple-список? Очень просто: все произойдет так, будто есть не один, а несколько не-muitipie-списков, все с одинаковым именем, и в каждом из которых выбрано по одному элементу. Иными словами, строка параметров, порожденная этим тегом, будет выглядеть примерно так:

имя=значение1&имя=значение2&...&имя=значениеЫ




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006