Атрибут formmethod HTML тега <button>

Значение и применение

Атрибут formmethod (HTML тега <button>) определяет, какой метод HTTP использовать при отправке данных формы (только для <button type = "submit" >).

Метод get в отличии от post при отправке формы передает собранную информацию как часть URL:

Код
url?name=value&name=value // метод get использует пары имя = значение

При post данные находятся в теле HTTP-запроса и не отображаются в адресной строке, но доступны в инструментах разработчика. POST не шифрует передачу: для этого нужен HTTPS.

Обратите внимание на некоторые нюансы при работе с HTTP методами get и post:

  • get подходит для поиска и фильтров: URL с параметрами можно сохранить. Пароли в URL не передают.
  • post подходит для изменения данных и загрузки файлов. Размер запроса ограничивают сервер и другие участники обмена; общего лимита GET «3000 символов» и неограниченного POST нет.
  • Закладка сохраняет URL, но не тело POST-запроса.

formmethod="dialog" закрывает содержащий форму диалог без сетевой отправки. Переопределение действует для кнопки, которой отправляют форму; без атрибута используется method формы.

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

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

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьhtml.elements.button.formmethod
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
formmethod✓9✓12✓4✓15✓5.1✓18✓4✓14✓5✓1.0✓37✓5

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

Синтаксис:

HTML
<button formmethod = "get | post | dialog">

Значения атрибута

Значение Описание
post Передаёт данные в теле HTTP-запроса. Для файла у формы нужен enctype="multipart/form-data" либо переопределяющий его formenctype кнопки.
get Добавляет данные формы в URL в виде пары имя/значение. Метод get используется по умолчанию.

Отличия HTML 4.01 от HTML 5

Атрибут считается новым в HTML 5.

Примеры, попробуйте сами

Атрибут formmethod элемента button

Нужны отдельный HTML-документ и серверный обработчик handler.php. Встроенный просмотр не отправляет формы; листинг показывает настройку запроса.

Исходный код для изучения. Запуск на этой странице недоступен.

index.html
HTML
<form action="handler.php" method="post">
  <label>Имя <input name="user" required /></label><button type="submit" formmethod="post">Отправить</button>
</form>