/html/input/formenctype:> Кодирование данных формы_

Атрибут formenctype

Синтаксис

HTML
<form action="...">
  ...
  <input type="..."
         formenctype="[значение]">
  ...
</form>

Описание

Атрибут / параметр formenctype указывает способ кодирования данных формы, отправляемых на сервер.

Условия использования

Применяется только к следующим типам полей формы: «submit», «image».


Поддержка браузерами

Chrome
Поддерж.
Firefox
Поддерж.
Opera
Поддерж.
Maxthon
Поддерж.
IExplorer
Поддерж.
Safari
Поддерж.
iOS
Поддерж.
Android
Поддерж.

Спецификация

Верс. Раздел
HTML
2.0 Input Field: INPUT
3.2 INPUT text fields, radio buttons, check boxes, ...
4.01 17.4 The INPUT element
5.0 4.10.19.6 Form submission
...and formenctype content...
5.1 4.10.19.6. Form submission
...and formenctype content...
XHTML
1.0 Extensible HyperText Markup Language
1.1 Extensible HyperText Markup Language

Значения

application/x-www-form-urlencoded
Кодирует данные формы отправляемые на сервер. Перед отправкой данных на сервер браузер кодирует все данные формы и объединяет их в одну строку, после чего полученную строку отправляет на сервер.

Символы кодируемые браузером:

  • пробелы преобразуются в символы «+» (плюс);
  • символы (кроме цифр и латинских букв) преобразуются в сочетание знака «%» (проценты) и соответствующий ASCII код символа;
  • разрыв строки преобразуется в символы «%0D%0A».
multipart/form-data
Из данных формы формируется документ (соответствующий MIME стандарту) в котором для каждого поля формы создаётся отдельный раздел (сегмент, часть документа). Данные документа не кодируются.

Данная кодировка применяется только в случаях когда данные формы передаются с помощью метода «post» (<form method="post">).

Примечание: старайтесь использовать данную кодировку только в случаях передачи файлов.

text/plain
Отправляет данные на сервер практически в незакодированном виде (кодируются только знаки перевода строки и возврата коретки). Перед отправкой данных на сервер браузер объединяет все данные формы; каждый элемент формы помещается на отдельную строку, а имя и значение элемента формы разделяются знаком «=» (равно);

Значение по умолчанию: «application/x-www-form-urlencoded».


Пример использования

Листинг кода
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Параметр formenctype (Элемент input)</title>
</head>
<body>
<h1>Пример использования атрибута "formenctype"</h1>
<form action="/examples/php-scripts/coffee.php" method="post">
<fieldset> <legend><b>Какой кофе вы любите?</b></legend>
<label><input type="radio" name="coffee" value="without"> просто кофе (без всего)</label>
<label><input type="radio" name="coffee" value="milk"> с молоком</label>
<p><input type="text" name="coffee_value" placeholder="Свой вариант"></p>
</fieldset>
<p><input type="reset"> <input type="submit" formenctype="application/x-www-form-urlencoded"></p>
</form>
</body>
</html>
Параметр formenctype (Элемент input)