Form action method post: Sending form data — Learn web development

Атрибут method тега | HTML справочник

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 — символы не кодируются).

Результат нашего примера:

Пример использования атрибута method HTML тега <form>.HTML тег <form>

Метод HTML-формы Атрибут

❮ Тег HTML

Пример

Отправка формы с использованием метода «get»:


 
 


 





 

Попробуйте сами »

Другие примеры «Попробуйте сами» ниже.


Определение и использование

Атрибут метода указывает, как отправлять данные формы (данные формы отправляются на страницу, указанную в атрибут действия ).

Данные формы могут быть отправлены как переменные URL (с method="get" ) или как сообщение HTTP транзакция (с method="post" ).

Примечания к GET:

  • Добавляет данные формы в URL-адрес в парах имя/значение
  • Длина URL-адреса ограничена (около 3000 символов)
  • Никогда не используйте GET для отправки конфиденциальных данных! (будет видно в URL)
  • Полезно для отправки форм, когда пользователь хочет добавить результат в закладки
  • GET лучше подходит для незащищенных данных, таких как строки запроса в Google

Примечания к POST:

  • Добавляет данные формы в тело HTTP-запроса (данные не отображаются в URL-адресе)
  • Не имеет ограничений по размеру
  • Отправка формы с помощью POST не может быть добавлена ​​в закладки

Поддержка браузера

Атрибут
метод Да Да Да Да Да


Синтаксис

Значения атрибутов

Значение Описание
получить По умолчанию.
Добавляет данные формы к URL-адресу в парах имя/значение: URL?name=value&name=value
пост Отправляет данные формы как почтовую транзакцию HTTP

Другие примеры

Пример

Отправка формы методом «post»:


 
 


 



 

Попробуйте сами »


❮ Тег HTML


NEW

Мы только что запустили
Видео W3Schools

Посмотреть0003

ВЫБОР ЦВЕТА
КОД ИГРЫ

Играть в игру

html — что делать и делать?

Спросил

10 лет, 10 месяцев назад

Изменено 2 года, 8 месяцев назад

Просмотрено 266 тысяч раз

77

Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.

Я читаю книгу по html-разработке (в которой я новичок), и, несмотря на то, что первая публикация книги состоялась месяц назад (ноябрь 2011 г.), автор — опытный программист и, возможно, использует # за действие в форме олдскул?

Поскольку я пытаюсь понять суть примера кода и не могу найти объяснение формы action="#" , несмотря на поиск

 
 

в Google, SO и на www.w3schools.com.

Кто-нибудь знает, что означает действие # для форм?

5

Действие обычно указывает файл/страницу, на которую отправляется форма (используя метод, описанный в параметре метода (post, get и т. д.))

Действие # указывает, что форма остается на той же странице, просто добавляя к URL-адресу суффикс # . Аналогичное использование происходит в якорях. Ссылка например, останется на той же странице.

Таким образом, форма отправляется на ту же страницу, которая затем обрабатывает данные и т.д.

9

action="" разрешает адрес страницы. action="#" резолвится на адрес страницы + #, что будет означать пустой идентификатор фрагмента.

Последнее может помешать переходу (новой загрузке) на ту же страницу и вместо этого попытаться перейти к элементу с идентификатором в идентификаторе фрагмента. Но, так как он пустой, он никуда не прыгнет.

Обычно авторы просто помещают # в атрибуты, подобные href, когда они не собираются использовать атрибут, вместо которого они используют сценарии. В этих случаях они могут просто использовать action="" (или опустить его, если позволяет проверка).

По-видимому, действие требовалось до HTML5 (а # было просто заменой), но вам больше не нужно его использовать.

См.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *