HTML/Атрибут method (Элемент form)

Синтаксис

(X)HTML

<form action="..." method="[значение]">
  ...
</form>

Описание

Атрибут / параметр method (от англ. «method» ‒ «метод») указывает метод отправки данных формы на сервер.


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

Chrome

Поддерж.

Firefox

Поддерж.

Opera

Поддерж.

Maxthon

Поддерж.

IExplorer

Поддерж.

Safari

Поддерж.

iOS

Поддерж.

Android

Поддерж.


Спецификация

Верс.Раздел
HTML
2.0Form: FORMПеревод
3.2FORM
4. 01
17.3 The FORM element
method = get|post [CI]…
DTD: Transitional Strict Frameset
5.04.10.19.6 Form submission
The method and…
5.14.10.19.6. Form submission
The method and…
XHTML
1.0Extensible HyperText Markup Language
DTD: Transitional Strict Frameset
1.1Extensible HyperText Markup Language

Значения

get
Объединяет данные формы в одну строку, после чего присоединяет полученную строку к URL-адресу обработчика формы (указывается в атрибуте «action» или «formaction») и с помощью полученного URL-адреса передаёт данные формы на сервер.
<form action="http://example.com/handler.php" formmethod="get">
<p><label>Фамилия: <input type="text" name="family"></label></p>
                   <!-- Введено значение ivanov -->
<p><label>Имя: <input type="text" name="name"></label></p>
               <!-- Введено значение ivan -->
<button type="submit"> Отправить </button>
</form>

В итоге получится: http://www.example.com/script/index.php?family=ivanov&name=ivan

Плюсы метода:

  • Позволяет быстро получать результаты передачи форм с небольшим количеством коротких полей.

Минусы метода:

  • Некоторые сервера ограничивают длину URL-адреса с аргументами;
  • Передача личных данных (пароли, номера кридитных карт и так далее) с помощью данного метода является небезопасной, так как данные передаваемые этим методом могут быть легко перехвачены.
post
Браузер устанавливает связь с сервером, на котором находится обработчик данных формы (URL-адрес обработчика указывается в атрибуте «action» или «formaction») и после установки связи передаёт (в отдельном сеансе связи) данные на сервер.

Плюсы метода:

  • В отличие от метода «get» данный метод является более безопасным методом передачи личных данных;
  • Может передавать на сервер большие объёмы данных формы.

Минусы метода:

  • Требуется определённый опыт в создании соответствующих обработчиков формы.
dialog
Предполагает, что форма с данными находится в диалоговом окне (элемент dialog), которое должно быть закрыто после отправки данных на сервер.

Значение по умолчанию: «get».


Пример использования

Листинг кода

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Параметр method (Элемент form)</title>
</head>
<body>
<h2>Пример с атрибутом «method»</h2>
<form action=»/examples/php-scripts/coffee. php» method=»post»>
<fieldset> <legend><b>Вы любите кофе с молоком?</b></legend>
<label><input type=»radio» name=»coffee» value=»yes»> да</label>
<label><input type=»radio» name=»coffee» value=»no»> нет</label>

</fieldset>
<p><input type=»reset»> <input type=»submit»></p>
</form>
</body>
</html>

Параметр method (Элемент form)

06-html-form — основы | andron13

Формочки и формошлёпы #

Один мой друг, а именно Геннадий Колтун с ib.by, называет фронтендщиков формошлёпами.

В чём то он определённо прав. Формы и формочки поджидают нас в интернете везде. Формы логина и регистрации на сайте, форма отправки емайлов, контактов, биллинга и всего чего только может быть.

Пример формы

И мы шлёпаем эти формы всё время. И пожалуй это тот тег, который нам надо разобрать досконально.

Так давайте просто начнём:

Form и input #

Тегом <form> мы объединяем поля для ввода данных.

<form>
    Здесь будет форма
</form>

На самом деле у тега есть определённые полезные и достаточно обязательные атрибуты. Эти атрибуты указывают куда отправлять форму и каким способом. Соответственно они называются action и method. Тогда это будет выглядеть вот так:

<form action="" method="">

Предлагаю сразу вписать туда значения, что бы мы привыкали к заполнению нужных атрибутов. В action мы поставим заглушку #, решётка часто используется заглушки ссылки. А в метод передачи данных мы напишем post. Методы передачи, получения, изменения и удаления данных, такие как post, get и другие — темы для самостоятельного изучения, внизу статьи будет пара ссылок на Википедию.

Результат:

<form action="#" method="post">
    Здесь будет форма
</form>

Если я говорю о формочках, то я представляю себе сразу форму логина на сайт.

Давайте я её и реализую. Для этого у меня есть тег <input>

<form action="#" method="post">
    <b>Форма логина на наш сайт</b><br>
    Имя пользователя <input type="text">
</form>

Вроде выглядит всё очевидно. Подпись для поля, тег для ввода и даже тип ввода “text” не должен вызывать удивления.

Делаем второе такое поле — пароль.

<form action="#" method="post">
    <p><b>Форма логина на наш сайт</b></p>
    <p>Имя пользователя <input type="text"></p>
    <p> Пароль <input type="password"></p>
</form>

Если мы попытаемся заполнить поле текста, то мы будем видеть символы, которые вводим. Если же мы будем заполнять поле пароля, то вместо символов мы увидим звёздочки. Помимо text и password существует ещё несколько полей.

Значения атрибута type в input #

button #

button: делает поле ввода кнопкой. С помощью дополнительного атрибута value мы можем подписать эту кнопку.

Пример:

    <input type="button" value="Кнопка">

submit #

submit: тоже кнопка, обычно эта кнопка отправляет данные.

Пример:

 <input type="submit">

reset #

reset: кнопка сброса данных в форме

<input type="reset">

image #

image: собственная кнопка на сайте. Пример:

<input type="image" src="button-help.png" alt="help">

checkbox #

checkbox: Флажок или чекбокс. Атрибут value и в данном случае поможет подписать поле чекбокса.

Атрибут checked сделает поле активным(выбранным).

<input type="checkbox" checked>

color #

color: этот атрибут появился в HTML5, и он управляет выбором цвета.

<input type="color" value="#169FA2">

date, datetime-local, month, time #

Атрибуты работы с датой и временем. Надеюсь, что они говорят сами за себя.

date: я был бы удивлён, если бы с помощью date мы не могли бы выбрать дату.

datetime-local: даёт возможность помимо даты ввести ещё и время.

month: ввод месяца и года.

time: ввод времени.

week: ввод недели.

    <input type="date">
<input type="datetime-local">
<input type="month">
<input type="time" value="22:53:05">
<input type="week">

email #

email: поле для ввода емайл-адреса. Поле проверяется средствами HTML на минимальную валидность: наличие собачки, и подобия доменного имени после него.

С помощью важного атрибута placeholder мы можем ввести значение, которое исчезнет, как только пользователь начнёт вводить данные.

С помощью волшебного атрибута size увеличивается поле ввода. Size измеряется в буквах. Значение 25 означает 25 символов моноспейсного шрифта.

<input type="email" placeholder="ваш емайл ввиде [email protected]" size="25">

file #

file: Если вы вдруг скачали ненужный файл из интернета, то с помощью формы и атрибута file вы сможете его закачать обратно. Атрибут accept настраивает какие файлы можно принимать и то какие файлы сможет отправить пользователь на сервер. Пример:

<input type="file" accept=".doc,.docx">

hidden #

hidden: элемент скрытого поля, которое отправится на сервер. Например счётчик пользователя.

Пример:

<input type="hidden" name="verySecret" value="666">

number #

number: Принимает числа. Мы можем указать минимальные значения и даже шаг — step.

<input type="number" min="0" step="10">

password #

password: Мы рассмотрели этот атрибут в самом начале. Можно добавить, что у нас есть возможность указания максимальной и минимальной длины — minlength и maxlength.

<input type="password" minlength="10" maxlength="20">

Хочу заметить, что пароли стоит передавать только по защищённому протоколу — HTTPS. Я бы сказал, что отправка паролей пользователя по обычным протоколам — преступная халатность.

radio #

radio: возможность выбор с переключением.

<p>M
    <input type="radio" name="gender" value="male"></p>
<p>W
    <input type="radio" name="gender" value="female"></p>
<p>D
    <input type="radio" name="gender" value="diverse"></p>

С помощью атрибута name мы можем связать три радио-поля и только одно из них может быть выбрано. Если атрибут name удалить, что все три поля могут быть выбранными.

range #

range: можно использовать для визуализации изменения значений. Например звука:

<p>Звук
    <input type="range" name="volume"
           min="0" max="11"></p>

По умолчанию в теге атрибуты со следующими значениями:

  • min: 0
  • max: 100
  • value: min + (max-min)/2, or min if max is less than min
  • step: 1

search #

search: предположу, что этот инпут для поиска.

Поиск <input type="search">

tel #

tel: Поле ввода телефонного номера.

<p>Телефон:<input type="tel"></p>

text #

text: Однострочное текстовое поле

<p>Text:<input type="text" required minlength="4" maxlength="20" size="10"></p>

Мы можем сделать поле(кстати не только это обязательным), мы можем изменить размер и ввести минимальное и/или максимальное вводимое значение.

textarea #

Существует и многострочное поле для ввода. Это правда не атрибут для инпута а отдельный тег. Но я думаю, что его стоит разместить здесь, что бы мы видели и альтернативу.
Пример:

<p> Комментарий</p>
<textarea name="comment" cols="30" rows="4"></textarea>

url #

url: Поле ввода/редактирования урла. С минимальной проверкой валидности.

Label #

Поля обычно подписывают. Мы использовали простой текст в абзаце или заголовок. Взрослые программисты используют лейбл для подписывания инпутов.

Есть два различающихся способа использования label.

Пример первый:

<label for="firstname">First name:</label>
<input type="text" name="firstname"><br>
<input type="checkbox" name="subscribe">
<label for="subscribe">Subscribe to newsletter</label>

Пример второй:

<label> Чекбокс
    <input type="checkbox" checked>
</label>

Вся разница в том, что в первом случае мы должны связать label и input с помощью for и name значений. А во втором случае у нас input внутри label и дополнительная связка необязательна.

Атрибуты #

Мы рассмотрели подробно атрибут type. Давай посмотрим список других возможных атрибутов в теге input: autocomplete, list, maxlength, minlength, pattern, placeholder, readonly, required, size, spellcheck.

autocomplete #

Браузеры запоминают, что мы вводим в формулярах. И мы можем отключить эти данные для всей формы или для отдельных полей.
Мне тяжело сейчас придумать, где именно вебмастер может решить, что он умнее пользователя. И на самом деле я считаю, что вмешивание в поведение браузера достаточно смелое решение. Но ситуации бывают разные, возможность для этого есть и мы должны её знать.

<form action="#" method="post" autocomplete="on">
    <p><b>Форма логина на наш сайт</b></p>
    <p>Имя пользователя <input type="text" autocomplete="off"></p>
    <p> Пароль <input type="password"></p>
</form>

list #

<form>
    <label for="color">Favorite color?</label><br> <input name="color" list="colors">
</form>
<datalist>
    <option>Red</option>
    <option>Yellow</option>
    <option>Blue</option>
    <option>Green</option>
    <option>Orange</option>
    <option>Purple</option>
    <option>Black</option>
    <option>White</option>
    <option>Gray</option>
</datalist>

И с помощью этих строчек мы получили выпадающий список с выбором.

Как вариант такой список может выглядеть и вот так.

    <input list="browsers">
    <datalist>
        <option value="Internet Explorer">
        <option value="Firefox">
        <option value="Google Chrome">
        <option value="Opera">
        <option value="Safari">
    </datalist>

maxlength и minlength #

maxlength и minlength мы рассмотрели уже пару раз вверху, да и говорят они сами за себя.

pattern #

В паттернах у нас есть возможность писать регулярные выражения, которые будут проверять значения на валидность. Регулярные выражения не самая важная тема в программировании. Её можно опустить, уверен что тебе есть что сейчас учить.

placeholder #

placeholder: помогает пользователю понять как ему стоит заполнить поле. Это очень удобная вещь.

readonly #

Помечает поле “только к чтению”.

required #

Поле обязательно к заполнению. Это те поля которые помечаются красной звёздочкой.

size #

Размер, длина строки.

spellcheck #

С помощью этого атрибута можно отключить проверку орфографии.

Я бы сказал это удобно, особенно для моей фамилии. Не очень приятно читать, что фамилия написана с ошибкой.

<label>Фамилия с проверкой
    <input type="text" spellcheck="false">
</label>
<label>Фамилия без проверки
    <input type="text" spellcheck="true">
</label>

select #

Список выбора можно настроить используя тег select. Возможности HTML расширяются не просто так. Правильно настроенные теги вызывают нативные интерфейсы на тех же мобильниках. И человек не путается при вводе данных.

<form action="#" method="post">
    <p><label>Выберите язык <br>
        <select size="7" multiple name="language[]">
            <option disabled>список языков в нашей школе</option>
            <option selected value="java">Java</option>
            <option  value="PHP">PHP</option>
            <option value="Python">Python</option>
            <option value="JavaScript">JavaScript</option>
            <option value="Dart">Dart</option>
            <option value="C-sharp">C#</option>
            <option value="C">C</option>
            <option value="ruby">Ruby</option>
            <option value="pascal">Pascal</option>
        </select>
    </label></p>
    <p><input type="submit" value="Отправить"></p>

Итого — минимально самая простая форма #

<!-- Это форма ещё не закончена -->
<form action="#" method="get">
    <label> Имя
        <input type="text">
    </label>
    <label> Фамилия
        <input type="text">
    </label>
    <input type="submit">
</form>

В консоле разработчика мы можем посмотреть, что делает браузер, когда мы нажимаем “отправить”. Создавай простую форму, в ней два поля имя и фамилия, кнопку submit. Открываем в браузере и смотрим.

devtools

На вкладке Network мы можем увидеть все данные, которые передаются серверу. И как они передаются. Добавьте в поля названия полей, проверьте, что метод передачи get и посмотрите что происходит в урле вашей страницы при отправке данных. Поменяйте на POST и посмотрите ещё раз. Найдите ваши данные в окне Нетворка в девтулсах.

<form action="#" method="get">
    <label> Имя
        <input type="text" name="firstname">
    </label>
    <label> Фамилия
        <input type="text" name="secondname">
    </label>
    <input type="submit">
</form>

Дополнительные ссылки #

  1. Метод Post
  2. Простым языком о HTTP
  3. О HTTPS
  4. Request_methods
  5. CRUD
  6. ib.by — позже, после того как выучите front здесь можно попробовать устроится на свою первую работу. Сошлитесь на эту страницу.
  7. https://developer.mozilla.org/ru/docs/Learn/Forms
  8. https://developer.mozilla.org/ru/docs/Learn/Forms/Form_validation
  9. https://learn.javascript.ru/forms-controls
  10. Запись вебинара RS School

Домашнее задание #

  1. Пимпочки
  2. Типичный формуляр
  3. Много инпутов
  4. Запись на курсы программирования

Метод 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


НАБОР ЦВЕТА



Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3. CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
9000 3

Основные каталожные номера
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Основные примеры
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


ФОРУМ | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

POST и GET (с примерами)

В этом уроке мы узнаем о методах POST и GET в HTML с помощью примеров.

Атрибут метода в элементе указывает, как данные отправляются на сервер.

HTTP-методы объявляют, какие действия следует выполнять над данными, отправляемыми на сервер. Протокол HTTP предоставляет несколько методов, а элемент формы HTML может использовать два метода для отправки пользовательских данных:

  • Метод GET — используется для запроса данных из указанного ресурса
  • Метод POST — используется для отправки данных на сервер для обновления ресурса

Метод GET

Метод HTML GET используется для получения ресурса с сервера. Например,

 
    
    
 

Когда мы отправим вышеуказанную форму, введя Калифорния в поле ввода, запрос, отправленный на сервер, будет www.programiz.com/search/?location=California .

Метод HTTP GET добавляет в конец URL-адреса строку запроса для отправки данных на сервер. Строка запроса представляет собой пару ключ-значение, за которой следует ? символ.

Из URL-адреса сервер может проанализировать введенное пользователем значение, где:

  • ключ — местонахождение
  • значение — Калифорния

Примечание: Если имеется более одного запроса, строка запроса будет разделена символом и .


Метод POST

Метод HTTP POST используется для отправки данных на сервер для дальнейшей обработки. Например,

 
    
    

<тип ввода = "отправить" />

Когда мы отправим форму, она добавит данные ввода пользователя в тело запроса, отправляемого на сервер. Запрос будет выглядеть так:

 POST /user HTTP/2.0.
Хост: www.programiz.com
Content-Type: application/x-www-form-urlencoded
Длина контента: 33
firstname=Robin&lastname=Williams 

Отправленные данные плохо видны пользователю. Однако мы можем проверить отправленные данные с помощью специальных инструментов, таких как инструменты разработчика браузеров.


GET и POST

ПОЛУЧИТЬ ПОЧТ
Данные, отправленные с помощью метода GET, отображаются в URL-адресе. Данные, отправленные методом POST, не видны.

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

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