/html/input/formmethod:> Метод отправки данных формы_

Атрибут formmethod

Синтаксис

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

Описание

Атрибут / параметр formmethod (от англ. "form method" ‒ «метод формы») указывает метод отправки данных формы на сервер.

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

Применяется только к следующим типам полей формы: «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 formmethod content...
5.1 4.10.19.6. Form submission
...and formmethod content...
XHTML
1.0 Extensible HyperText Markup Language
1.1 Extensible HyperText Markup Language

Значения

get
Объединяет данные формы в одну строку, присоединяет полученную строку к URL-адресу обработчика формы (указывается в атрибуте «action» или «formaction») и с помощью полученного URL-адреса передаёт данные формы на сервер.
<form action="http://www.example.com/script/index.php">
<p><label>Фамилия: <input type="text" name="family"></label></p>
                   <!-- Введено значение ivanov -->
<p><label>Имя: <input type="text" name="name"></label></p>
               <!-- Введено значение ivan -->
<input type="submit" formmethod="get">
</form>

В итоге получится:

http://www.example.com/script/index.php?family=ivanov&name=ivan

Плюсы и минусы метода

Плюсы:

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

Минусы:

  • Некоторые сервера ограничивают длину URL-адреса с аргументами (обрезают URL-адрес);
  • Передача личных данных (пароли, номера кридитных карт и т.д.) с помощью данного метода является небезопасной, так как данные передаваемые этим методом могут быть легко перехвачены.
post
Браузер устанавливает связь с сервером, на котором находится обработчик данных формы (URL-адрес обработчика указывается в атрибуте «action» или «formaction») и после установки связи передаёт (в отдельном сеансе связи) данные на сервер.

Плюсы и минусы метода

Плюсы:

  • В отличие от метода «get» данный метод является более безопасным методом передачи личных данных;
  • Может передавать на сервер большие объёмы данных формы.

Минусы:

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

Значение по умолчанию: «get».


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

Листинг кода
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Параметр formmethod (Элемент input)</title>
<meta name="robots" content="noindex, nofollow">
</head>
<body>
<h1>Пример с атрибутом "formmethod"</h1>
<form action="/examples/php-scripts/coffee.php">
<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" formmethod="post"></p>
</form>
</body>
</html>
Параметр formmethod (Элемент input)