Атрибут formmethod
Синтаксис
HTML
<form action="...">
...
<input type="..."
formmethod="[значение]">
...
</form>
Описание
Атрибут / параметр formmethod
(от англ. "form method" ‒ «метод формы») указывает метод отправки данных формы на сервер.
Условия использования
Применяется только к следующим типам полей формы: «submit
», «image
».
Поддержка браузерами
Chrome
Поддерж.
Firefox
Поддерж.
Opera
Поддерж.
Maxthon
Поддерж.
IExplorer
Поддерж.
Safari
Поддерж.
iOS
Поддерж.
Android
Поддерж.
Спецификация
Верс. | Раздел |
---|---|
HTML | |
2.0 | |
3.2 | |
4.01 | |
5.0 | 4.10.19.6 Form submission ...and formmethod content... |
5.1 | 4.10.19.6. Form submission ...and formmethod content... |
XHTML | |
1.0 | |
1.1 |
Значения
- get
- Объединяет данные формы в одну строку, присоединяет полученную строку к URL-адресу обработчика формы (указывается в атрибуте «
action
» или «formaction
») и с помощью полученного URL-адреса передаёт данные формы на сервер.<form action="http://www.example.com/script/index.php"> <p><label>Фамилия: <input type="text" name="family"></label></p> <!-- Введено значение ivanov --> <p><label>Имя: <input type="text" name="name"></label></p> <!-- Введено значение ivan --> <input type="submit" formmethod="get"> </form>
В итоге получится:
http://www.example.com/script/index.php?family=ivanov&name=ivan
Плюсы и минусы метода
Плюсы:
- Позволяет быстро получать результаты передачи форм с небольшим количеством коротких полей.
Минусы:
- Некоторые сервера ограничивают длину URL-адреса с аргументами (обрезают URL-адрес);
- Передача личных данных (пароли, номера кридитных карт и т.д.) с помощью данного метода является небезопасной, так как данные передаваемые этим методом могут быть легко перехвачены.
- post
- Браузер устанавливает связь с сервером, на котором находится обработчик данных формы (URL-адрес обработчика указывается в атрибуте «
action
» или «formaction
») и после установки связи передаёт (в отдельном сеансе связи) данные на сервер.Плюсы и минусы метода
Плюсы:
- В отличие от метода «
get
» данный метод является более безопасным методом передачи личных данных; - Может передавать на сервер большие объёмы данных формы.
Минусы:
- Требуется определённый опыт в создании соответствующих обработчиков формы.
- В отличие от метода «
- dialog
- Предполагает, что форма с данными находится в диалоговом окне (элемент
dialog
), которое должно быть закрыто после отправки данных на сервер.
Значение по умолчанию: «get
».
Пример использования
Листинг кода
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Параметр formmethod (Элемент input)</title>
<meta name="robots" content="noindex, nofollow">
</head>
<body>
<h1>Пример с атрибутом "formmethod"</h1>
<form action="/examples/php-scripts/coffee.php">
<fieldset> <legend><b>Какой кофе вы любите?</b></legend>
<label><input type="radio" name="coffee" value="without"> просто кофе (без всего)</label>
<label><input type="radio" name="coffee" value="milk"> с молоком</label>
<p><input type="text" name="coffee_value" placeholder="Свой вариант"></p>
</fieldset>
<p><input type="reset"> <input type="submit" formmethod="post"></p>
</form>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>Параметр formmethod (Элемент input)</title>
<meta name="robots" content="noindex, nofollow">
</head>
<body>
<h1>Пример с атрибутом "formmethod"</h1>
<form action="/examples/php-scripts/coffee.php">
<fieldset> <legend><b>Какой кофе вы любите?</b></legend>
<label><input type="radio" name="coffee" value="without"> просто кофе (без всего)</label>
<label><input type="radio" name="coffee" value="milk"> с молоком</label>
<p><input type="text" name="coffee_value" placeholder="Свой вариант"></p>
</fieldset>
<p><input type="reset"> <input type="submit" formmethod="post"></p>
</form>
</body>
</html>
Параметр formmethod (Элемент input)