Атрибут formmethod определяет метод отправки данных формы на сервер. Этот атрибут переопределяет атрибут method тега <form>.
Атрибут formmethod может использоваться только с тегом <button> имеющим type="submit".
Данные формы могут отправляться на сервер либо как переменные URL (при method="get"), либо в теле сообщения HTTP (при method="post").
Особенности передачи данных методом GET:
- данные присоединяются к URL в виде пар имя/значение
- существует ограничение на размер передаваемых данных (зависит от браузера)
- никогда не стоит использовать метод GET для передачи важной информации! (например, пароли будут видны в адресной строке браузера)
Особенности передачи данных методом POST:
- данные отправляются в теле HTTP запроса
- он надежнее и безопаснее метода GET
- у него нет ограничений по размеру передаваемых данных
Атрибут formmethod для тега <button> был добавлен в HTML5.
Синтаксис атрибута
<button type="submit" formmethod="get | post">
Значения атрибута
Значение | Описание |
---|---|
get | Присоединяет данные к URL: URL?имя=значение&имя=значение |
post | Отсылает данные формы через тело сообщения по HTTP протоколу |
Пример использования атрибута
HTML форма с двумя кнопками. Первая кнопка отправляет данные формы методом GET, а вторая методом POST:
<form action="//msiter.ru/demo_form.asp" method="get">
Имя: <input type="text" name="fname"><br>
Фамилия: <input type="text" name="lname"><br>
<button type="submit">Отправить</button>
<button type="submit" formmethod="post" formaction="demo_post.asp">Отправить методом POST</button>
</form>