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