Атрибут method HTML тега <form>
HTML тег <form>Значение и применение
Атрибут method (HTML тега <form>) определяет какой метод HTTP (get или post) используется при передаче формы.
Метод 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 страницы.
Значение атрибута method может быть переопределено атрибутом formmethod элементов <button>, или <input>.
Поддержка браузерами
Атрибут | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
method | Да | Да | Да | Да | Да | Да |
Синтаксис:
<form method = "post | get">
Значения атрибута
Значение | Описание |
---|---|
post | Данные формы включаются в тело формы и отправляется на сервер. |
get | Добавляет данные формы в URL в виде пары имя/значение. Метод get используется по умолчанию. |
Отличия HTML 4.01 от HTML 5
Нет.Пример использования
<!DOCTYPE html> <html> <head> <title>Использование атрибута method HTML тега <form></title> </head> <body> <form name = "subscribeForm" method = "post" ectype = "multipart/form-data"> <!-- определяем имя для нашей формы, HTTP метод, используемый при передаче формы и способ кодирования. --> Имя: <input type = "text" name = "userName"> <!-- определяем элемент управления для ввода текстовой информации --> E-mail: <input type = "email" name = "email"> <!-- определяем элемент управления для ввода адреса электронной почты --> <input type = "submit" value = "Подписаться"> <!-- определяем кнопку отправки формы --> </form> </body> </html>
В данном примере мы создали форму (HTML тег <form>), атрибутом name определили имя для нашей формы, атрибутом method указали HTTP метод post (данные формы включаются в тело формы и отправляется на сервер), используемый при передаче формы и атрибутом enctype указали способ кодирования при передаче данных формы (multipart/form-data - символы не кодируются).
Результат нашего примера:
HTML тег <form>