Атрибут formmethod HTML тега <button>
HTML тег <button>Значение и применение
Атрибут formmethod (HTML тега <button>) определяет, какой метод HTTP использовать при отправке данных формы (только для <button type = "submit" >).
Метод get в отличии от post при отправке формы передает собранную информацию как часть URL:
url?name=value&name=value // метод get использует пары имя = значение
При отправке данных методом post данные передаются таким образом, что пользователь уже не видит передаваемые обработчику формы данные (добавляет данные формы в теле запроса http, которые не отображаются в URL).
Обратите внимание на некоторые нюансы при работе с HTTP методами get и post:
- Метод get ограничивает объём передаваемой в URL информации (около 3000 символов), метод post не имеет подобных ограничений.
- Никогда не используйте метод get, если вам необходимо передать конфиденциальные данные (например, пароль пользователя, так как он будет передан в строке URL - в открытом виде).
- Страница, сгенерированную методом get, можно пометить закладкой (адрес страницы всегда будет уникальный), а страницу, сгенерированную метод post нельзя, так как адрес страницы не изменяется (данные в URL не передаются).
- Учтите, что с использованием метода get можно передать данные не через форму, а через URL страницы.
Если атрибут formmethod используется, то он переопределяет значение атрибута method элемента <form>.
Поддержка браузерами
Атрибут | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
formmethod | Да | Да | Да | Да | 10.0 | Да |
Синтаксис:
<button formmethod = "get | post">
Значения атрибута
Значение | Описание |
---|---|
post | Данные формы включаются в тело формы и отправляется на сервер. |
get | Добавляет данные формы в URL в виде пары имя/значение. Метод get используется по умолчанию. |
Отличия HTML 4.01 от HTML 5
Атрибут считается новым в HTML 5.Пример использования
<!DOCTYPE html> <html> <head> <title>Использование атрибутов formenctype и formmethod HTML тега <button></title> </head> <body> <form id = "myForm"> Логин:<input type = "text" name = "ulogin"><br> <!-- определяем элемент управления для текстовой информации --> Пароль:<input type = "password" name = "upassword"><br> <!-- определяем элемент управления для ввода пароля --> <button formenctype = "text/plain" formmethod = "post">Отправить</button> <!-- определяем кнопку для отправки формы --> </form> </body> </html>
В данном примере внутри формы мы создали два элемента <input>, предназначенные для ввода текстовой информации и ввода пароля, и кнопку (HTML тег <button>), предназначенную для отправки формы (тип кнопки submit по умолчанию). Кроме того, атрибутом formenctype со значением "text/plain" указали, что при передаче формы пробелы заменяются знаком +, буквы и символы не кодируются, а атрибутом formmethod со значением "post" указали, что данные формы включаются в тело формы при отправке на сервер.
Результат нашего примера:
HTML тег <button>