Составители:
Рубрика:
54
Атрибут method
Атрибут method имеет два основных возможных значения: get (по
умолчанию) и post.
Смысл этих значений следующий. При передаче данных методом get
данные формы отправляются на сервер в заголовке запроса, а при
использовании метода post – в теле запроса. Передача текстовых
данных может осуществляться любым из этих методов. А вот
бинарные данные
могут быть отправлены только методом post. Это
происходит в случае загрузки файла не сервер (всем понятный пример
– приложение к электронному письму). Кстати, в этом случае
необходимо указать enctype=”multipart/form-data” (см.
далее примечения к атрибуту enctype).
Итак, за исключением случая передачи бинарных данных (только
методом post) равным образом можно применять оба
возможных
метода. На сложность разработки серверного сценария,
принимающего данные из формы, это никоим образом не влияет.
Какой же метод предпочтителен? Предлагаю два подхода для решения
этого вопроса. Во-первых, имеет смысл внимательно рассмотреть
имеющиеся в сети ресурсы, убедиться, что в подавляющем
большинстве случаев применяется метод get, и считать это
негласным
эмпирическим правилом. С другой стороны, можно
задуматься, какой вариант удобнее пользователю информационного
ресурса.
При передаче методом get пользователь имеет удовольствие видеть
данные формы в адресной строке. Символы, отличные от стандартной
латиницы кодируются. Например, пробелу соответствует код %20 .
Каждый из нас постоянно наблюдает такую ситуацию, работая с
поисковыми системами. Зададим, например в Я
ndex ключевое
словосочетание «язык HTML» и увидим в адресной строке:
Слово «язык» закодировано последовательностью %FF%E7%FB%EA,
а «HTML» передается как есть. Получив такой запрос,
соответствующая серверная программа обратится к базе данных и, в
55
конечном счете, сгенерирует и отправит браузеру список результатов
поиска.
При передаче методом post данные формы отправляются на сервер.
При этом пользователь не видит в адресной строке ничего «лишнего».
Зато появляются другие проблемы: попытка обновить страницу
вызывает маловразумительное сообщение: «… обновление страницы
невозможно без повторной отправки данных…».
Резюме. По-видимому, следует выбирать заданный
по умолчанию
метод get во всех случаях, кроме передачи на сервер бинарных
данных.
Атрибут enctype
Этот атрибут имеет два возможных значения:
• application/x-www-form-urlencoded (по умолчанию)
• multipart/form-data
Первое значение используется в абсолютном большинстве случаев.
Нет смысла указывать его явно – оно и так предполагается по
умолчанию. Второй же тип кодировки (multipart/form-data)
указывается в
единственном случае: при загрузке на сервер бинарного
файла. При этом обязательно задание атрибута method=”post”.
Элементы форм. Общее представление
Многочисленные элементы форм можно условно разбить на несколько
групп. Все элементы, естественно, имеют различную
функциональность и разный внешний вид. Очевидно, что у каждого из
обсуждаемых элементов есть определенное количество атрибутов
(которые как раз и обеспечивают функциональность и, в меньшей
степени, параметры внешнего отображения). Но в этом разделе мы
отметим лишь
абсолютно необходимые атрибуты, чтобы хотя бы
увидеть, как выглядят те или иные элементы форм. При работе с
формами, как на стороне клиента, так и с помощью серверных
сценариев, очевидна необходимость указания прочих атрибутов, но о
них разговор в следующем разделе. Здесь же просто познакомимся с
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »