Атрибут method | htmlbook.ru
Атрибут method | htmlbook.ruАтрибуты тегов
Значения атрибутов
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
3.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Спецификация
HTML: | 3.2 | 4.01 | 5.0 | XHTML: | 1.0 | 1.1 |
Описание
Атрибут method сообщает серверу о методе запроса.
Синтаксис
<form method="get | post">...</form>
Значения
Значение атрибута method не зависит от регистра. Различают два метода — get и post.
- get
- Этот метод является одним из самых распространенных и предназначен для получения требуемой информации и передачи данных в адресной строке. Пары «имя=значение» присоединяются в этом случае к адресу после вопросительного знака и разделяются между собой амперсандом (символ &). Удобство использования метода get заключается в том, что адрес со всеми параметрами можно использовать неоднократно, сохранив его, например, в закладки браузера, а также менять значения параметров прямо в адресной строке.
- post
- Метод post посылает на сервер данные в запросе браузера. Это позволяет отправлять большее количество данных, чем доступно методу get, поскольку у него установлено ограничение в 4 Кб. Большие объемы данных используются в форумах, почтовых службах, заполнении базы данных, при пересылке файлов и др.
Обязательный атрибут
Нет.
Значение по умолчанию
get
Пример
HTML5IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Тег FORM, атрибут method</title>
</head>
<body>
<form action="handler.php" method="post">
<p><input type="text" name="str"></p>
<p><input type="submit" value="Отправить"></p>
</form>
</body>
</html>
О сайте
Помощь
Копирование материалов
Борьба с ошибками
Технологии
Поисковый плагин
Основные разделы
Статьи
Блог
Практикум
Цифровые книги
Форум
HTML
Самоучитель HTML
XHTML
Справочник по HTML
HTML5
CSS
Самоучитель CSS
Справочник по CSS
Рецепты CSS
CSS3
Сайт
Вёрстка
Макеты
Веб-сервер
htmlbook.ru использует хостинг timeweb© 2002–2021 Влад Мержевич, по всем вопросам пишите по адресу [email protected]
Подпишитесь на материалы сайта по RSS
POST — HTTP | MDN
HTTP-метод POST
предназначен для отправки данных на сервер. Тип тела запроса указывается в заголовке Content-Type
.
Разница между PUT
и POST
состоит в том, что PUT
является идемпотентным: повторное его применение даёт тот же результат, что и при первом применении (то есть у метода нет побочных эффектов), тогда как повторный вызов одного и того же метода POST
может иметь такие эффекты, как например, оформление одного и того же заказа несколько раз.
Запрос POST
обычно отправляется через форму HTML и приводит к изменению на сервере. В этом случае тип содержимого выбирается путём размещения соответствующей строки в атрибуте enctype
элемента <form>
или formenctype
атрибута элементов <input>
или <button>
:
application/x-www-form-urlencoded
: значения кодируются в кортежах с ключом, разделённых символом'&'
, с'='
между ключом и значением. Не буквенно-цифровые символы — percent encoded: это причина, по которой этот тип не подходит для использования с двоичными данными (вместо этого используйте
)multipart/form-data
: каждое значение посылается как блок данных («body part»), с заданными пользовательским клиентом разделителем («boundary»), разделяющим каждую часть. Эти ключи даются в заголовкиContent-Disposition
каждой частиtext/plain
Когда запрос POST
отправляется с помощью метода, отличного от HTML-формы, — например, через XMLHttpRequest
— тело может принимать любой тип. Как описано в спецификации HTTP 1.1, POST
предназначен для обеспечения единообразного метода для покрытия следующих функций:
- Аннотация существующих ресурсов
- Публикация сообщения на доске объявлений, в новостной группе, в списке рассылки или в аналогичной группе статей;
- Добавление нового пользователя посредством модальности регистрации;
- Предоставление блока данных, например, результата отправки формы, процессу обработки данных;
- Расширение базы данных с помощью операции добавления.
Простая форма запроса, используя стандартный application/x-www-form-urlencoded
content type:
POST / HTTP/1.1 Host: foo.com Content-Type: application/x-www-form-urlencoded Content-Length: 13 say=Hi&to=Mom
Форма запроса, используя multipart/form-data
content type:
POST /test.html HTTP/1.1 Host: example.org Content-Type: multipart/form-data;boundary="boundary" --boundary Content-Disposition: form-data; name="field1" value1 --boundary Content-Disposition: form-data; name="field2"; filename="example.txt" value2 --boundary--
BCD tables only load in the browser
Формы и их составляющие (form, input) в HTML
Для создания интерактивного сайта необходим способ передачи данных от пользователя. Самый простой способ передать данные на сайт — это использовать форму (тег ).Материал в этой статье только описывает теги, которые могут содержаться в <form>. Но для программирования функционала необходимо знание языка, к примеру, PHP. Пожалуйста, посмотрите курс PHP, если хотите полноценно понять способ передачи данных на сайт.
<form action="/index.php" method="POST">
Пожалуйста, введите мэйл и пароль:<br>
<input type="text" name="email" value="" placeholder="Ваш мэйл" required><br>
<input type="password" name="password" value="" placeholder="Ваш пароль"><br>
<input type="submit" value="Войти на сайт">
</form>
Если создать html файл и вставить в него код из примера выше, то в браузере такой файл отобразится как html страница со следующим содержанием:
— в этой форме есть два поля для ввода и одна кнопка. Все эти элементы строятся самим браузером.Браузер использует свой стандартный стиль для полей ввода и кнопок, если не задан особый стиль. У каждого браузера стили для элементов форм отличаются. Поэтому чтобы сделать единый дизайн формы для вех браузеров, необходимо переопределить стандартные стили. Читайте об этом в курсе по CSS.
Рассмотрим построчно теги из примера.<form> … </form> — этот тег формы. Внутри него могут находиться различные элементы: текстовые поля, поля для ввода пароля и т.п. Во время отправки формы все поля внутри формы передадут свои значения на страницу, адрес которой указан в атрибуте action=»…». Способ передачи данных указывается в атрибуте method=»…». Подробнее о передаче данных из формы на сайт можно прочитать в разделе по программированию, к примеру, на языке PHP. В этой статье рассмотрим только виды полей для вода информации.
<input> — этот тег может отображать различные элемены в зависимости от значения атрибута type=»…». На третьей строке он используется как поле для ввода текста type=»text». А на четвёртой стройке он используется для ввода пароля
В конце стретьей строки есть атрибут required. В переводе означает «обязательный». Если попытаться отправить форму (в нашем случае нажать на кнопку «Войти на сайт») без заполнения этого поля, то форма не отправится и выдаст предупреждение: На пятой строке <input> используется с атрибутом type=»submit». В результате чего браузер рисует кликабельную кнопку, которая запускает процесс отправки содержимого формы.
В атрибуте value=»…» задаётся значение, которое принимает элемент формы. К примеру, если в поле с атрибутом type=»text» задать value=»Это текст в форме», то после загрузки html страницы в этом текстовом поле будет стоять текст «Это текст в форме». В случае с полем type=»submit» значение в атрибуте value=»…»
устанавливает надпись на кнопку отправки формы.В примере все текстовые поля имеют атрибут value=»» (value равно пустоте, между двойными кавычками «» ничего нет). Поэтому на заднем фоне поля для ввода отображается текст-заглушка, которая сразу прячется, как только начинается ввод в поле. Текст этой заглушки можно задать через атрибут placeholder=»…».
Далее разберём подробнее какие ещё типы полей могут быть в формах. Рассмотрим самые востребованные.
input type=»radio»
Поле для ввода с атрибутом type=»radio» помогает сделать переключатель вариантов. К примеру, если пользователь должен выбрать только один вариант из списка, то код формы будет таким:<form action="/index.php" method="POST">
Выберите сыр:<br>
<input name="cheese" type="radio" value="v1">Чеддер<br>
<input name="cheese" type="radio" value="v2" checked>Блю<br>
<input name="cheese" type="radio" value="v3">Камбоцола<br>
<input name="cheese" type="radio" value="v4">Морбье<br>
<input name="cheese" type="radio" value="v5">Смоленский<br>
<input name="cheese" type="radio" value="v6">Чечил<br>
</form>
На экране негобраузера форма будет выглядеть так:
Обратите внимание, что все поля имеют атрибут name=»cheese» с одинаковым значением. Это необходимо, потому что на одной странице могут находится несколько форм с радиокнопками. Но переключатель будет работать только внутри группы радиокнопок с одинаковым значением атрибута name. А значение value=»…» должно быть разным. именно value у выбранного пункта будет передано во время отправки формы.В примере выше можно заметить, что на втором варианте ответа стоит атрибут checked. Он указывает на то, что во время загрузки страницы второй пункт будет отмечен как выбранный.
input type=»checkbox»
Если есть необходимость выбрать несколько пунктов из предложенных, то необходимо использовать type=»checkbox»:<form action="/index.php" method="POST">
Выберите сыр:<br>
<input name="cheese" type="checkbox" value="v1">Чеддер<br>
<input name="cheese" type="checkbox" value="v2" checked>Блю<br>
<input name="cheese" type="checkbox" value="v3">Камбоцола<br>
<input name="cheese" type="checkbox" value="v4" checked>Морбье<br>
<input name="cheese" type="checkbox" value="v5" checked>Смоленский<br>
<input name="cheese" type="checkbox" value="v6">Чечил<br>
</form>
Браузер отрисует такие элементы как поля, в которых можно поставить галочку.
Как и в случае с type=»radio» можно задать checked для тех пунктов, которые должны быть отмечены по умолчанию после загрузки страницы.input type=»file»
<form action="/index.php" method="POST">
Загрузите фото сыра:<br><br>
<input type="file"><br><br>
<input type="submit" value="Загрузить">
</form>
В браузере форма из этого примера будет выглядеть так: При клике на кнопку выбора файла откроется окно, где пользователь сможет указать файл для загрузки. Кнопка «Загрузить» (она же <input type=»submit»>) начинает процесс отправки формы вместе с выбранным файлом.
<textarea>
Если необходимо получить от пользователя очень длинный текст, то записывать его через текстовое поле <input type=»text»> будет проблематично, потому что это поле вмещает только одну строку. К счастью, есть более удобное многострочное поле с возможностью изменения его размера. Такое поле создаётся с помощью тега <textarea>. Этот тег парный — он имеет открывающую и закрывающую часть. HTML код формы с этим полем выглядит так:<form action="/index.php" method="POST">
Напишите стих про мышей:<br><br>
<textarea></textarea>
</form>
Браузер отобрасит поле для ввода текста в несколько строк с возможностью изменения размера за правый-нижний угол:
В отличии от других input полей, у textarea нет атрибута value. Значение textarea находится непосредственно между тегами <textarea>…</textarea>. И если необходимо задать текст, который будет в этом поле после загрузки страницы, то нужно писать его именно между открывающимся и закрывающимся тегом <textarea>…</textarea>POST-запросы и отправка форм | Node.js с примерами кода
При оправке каких-то сложных данных обычно используются формы. Рассмотрим, как получать отправленные данные в Express.
Для получения данных форм из запроса необходимо использовать специальный пакет body-parser. Поэтому вначале добавим его в проект с помощью команды
npm install body-parser --save
Определим в папке проекта новый файл register.html
:
<!DOCTYPE html>
<html>
<head>
<title>Регистрация</title>
<meta charset="utf-8" />
</head>
<body>
<h2>Введите данные</h2>
<form action="/register" method="post">
<label>Имя</label><br />
<input type="text" name="userName" /><br /><br />
<label>Возраст</label><br />
<input type="number" name="userAge" /><br /><br />
<input type="submit" value="Отправить" />
</form>
</body>
</html>
Здесь определены два поля для ввода имени и возраста пользователя. После нажатия на кнопку данные будут уходить по адресу /register
.
В файле app.js
определим следующий код:
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
// создаем парсер для данных application/x-www-form-urlencoded
const urlencodedParser = bodyParser.urlencoded({
extended: false,
})
app.get('/register', urlencodedParser, function (
request,
response
) {
response.sendFile(__dirname + '/register.html')
})
app.post('/register', urlencodedParser, function (
request,
response
) {
if (!request.body) return response.sendStatus(400)
console.log(request.body)
response.send(
`${request.body.userName} - ${request.body.userAge}`
)
})
app.get('/', function (request, response) {
response.send('Главная страница')
})
app.listen(3000)
Прежде всего для получения отправленных данных необходимо создать парсер:
const urlencodedParser = bodyParser.urlencoded({
extended: false,
})
Поскольку данные отправляются с помощью формы, то для создания парсера применяется функция urlencoded()
. В эту функцию передается объект, устанавливающий параметры парсинга. Значение extended: false
указывает, что объект — результат парсинга будет представлять набор пар ключ-значение, а каждое значение может быть представлено в виде строки или массива.
При переходе по адресу /register
будет срабатывать метод app.get
, который отправит пользователю файл register.html
.
Так как данные отправляются с помощью метода POST
, то для обработки определяем функцию app.post("/register",...)
. Первый параметр функции — адрес, на который идет отправка — /register
. Стоит отметить, что в данном случае с одинм адресом /register
связаны две функции, только одна обрабатывает запросы get
, а другая — запросы post
. Второй параметр — выше созданный парсер. Третий параметр — обработчик:
app.post('/register', urlencodedParser, function (
request,
response
) {
if (!request.body) return response.sendStatus(400)
console.log(request.body)
response.send(
`${request.body.userName} - ${request.body.userAge}`
)
})
Для получения самих отправленных данных используем выражения типа request.body.userName
, где request.body
инкапсулирует данные формы, а userName
— ключ данных, который соответствует значению атрибута name поля ввода на html-странице:
<input type="text" name="userName" />
Запустим приложение и обратимся к странице register.html
:
После отправки введенные данные будут получены в функции app.post("/register",...)
, которая выведет результат обработки:
Атрибут метода формы HTML
❮ HTML тег
Попробуй сам »Дополнительные примеры «Попробуйте сами» ниже.
Определение и использование
Атрибут метода
определяет, как отправлять данные формы (данные формы отправляются на страницу, указанную в атрибут действия
).
Данные формы могут быть отправлены как переменные URL (с method = "get"
) или как сообщение HTTP
транзакция (с методом = "post"
).
Примечания к GET:
- Добавляет данные формы в URL в парах имя / значение
- Длина URL-адреса ограничена (около 3000 символов)
- Никогда не используйте GET для отправки конфиденциальных данных! (будет видно в URL)
- Полезно для отправки формы, когда пользователь хочет добавить результат в закладки
- GET лучше подходит для незащищенных данных, таких как строки запроса в Google
Примечания к посту:
- Добавляет данные формы в тело HTTP-запроса (данные не отображаются в URL-адресе)
- Без ограничений по размеру
- Отправленные формы с POST не могут быть добавлены в закладки
Поддержка браузера
Атрибут | |||||
---|---|---|---|---|---|
метод | Есть | Есть | Есть | Есть | Есть |
Синтаксис
Значения атрибутов
Значение | Описание |
---|---|
получить | По умолчанию.Добавляет данные формы к URL-адресу в парах имя / значение: URL-адрес? Name = value & name = value |
пост | Отправляет данные формы как почтовую транзакцию HTTP |
Другие примеры
Пример
Отправьте форму, используя метод «публикации»:
<форма
action = "/ action_page.php"
method = "post">
❮ HTML тег
Метод Атрибут
элемента формы указывает веб-браузеру, как отправлять данные формы на сервер.Указание значения
GET
означает, что браузер добавит содержимое формы в конец URL-адреса. Это дает ряд преимуществ для простых форм. Это позволяет браузеру кэшировать результаты отправки формы, а также позволяет пользователю добавлять страницу в закладки после отправки формы. Таким образом, GET
обычно используется для простых форм, где безопасность не является проблемой.
Ограничения GET
Результатом GET
является то, что все содержимое отправки отображается в URL-адресе.Если ваша форма содержит конфиденциальные данные, вы должны указать значение POST
для атрибута method
. Поскольку GET
добавляет данные формы к текущему URL-адресу, его можно использовать только тогда, когда содержимое отправки (включая полный URL-адрес) приведет к строке длиной 2048 символов или меньше. Это максимальная длина URL-адреса. GET
можно использовать только для отправки данных ASCII.
Атрибут method
элемента form
сообщает веб-браузеру, как отправлять данные формы на сервер.Указание значения POST
означает, что браузер отправит данные на веб-сервер для обработки. Это необходимо при добавлении данных в базу данных или при отправке конфиденциальной информации, например паролей.
Ограничения POST
Когда данные отправляются с использованием POST
, двойная отправка формы приведет к дублированию записи. Это может быть проблемой, если форма связана с членством, покупкой или другим одноразовым действием. Вот почему пользователи не могут добавлять в закладки результаты отправки формы, если метод
- это POST
.
Значения метода
АтрибутИмя значения | Примечания |
---|---|
GET | Отправляет данные формы через строку URL |
POST | Отправляет данные формы через сервер |
Все атрибуты формы
ЭлементИмя атрибута | Значения | Примечания |
---|---|---|
target | _self _blank | Задает контекст браузера, в котором должен отображаться ответ формы. |
действие | Задает URL-адрес, на который отправляются данные формы при отправке. | |
enctype | ||
метод | GET POST | Сообщает браузеру, как отправлять данные формы на веб-сервер. |
onSubmit | Запускает сценарий при нажатии кнопки «Отправить». | |
onReset | Запускает сценарий при нажатии кнопки «Сброс». | |
имя |
Клэр - опытный технический писатель, редактор и энтузиаст HTML. Она пишет для HTML.com и управляет контент-агентством Red Robot Media.
Браузер Поддержка метода
Работа с формами | Документация Django
В HTML форма - это набор элементов внутри
, которые
позволить посетителю делать такие вещи, как ввод текста, выбор параметров, манипулирование
объекты или элементы управления и т. д., а затем отправить эту информацию обратно в
сервер.
Некоторые из этих элементов интерфейса формы - ввод текста или флажки - встроены
в сам HTML. Другие намного сложнее; интерфейс, который всплывает
выбор даты или позволяет перемещать ползунок или управлять элементами управления.
обычно используют JavaScript и CSS, а также элементы HTML-формы
для
добиться этих эффектов.
В качестве примера форма входа для администратора Django содержит несколько
элементов: один из type = "text"
для имени пользователя, один из type = "password"
для пароля и один из type = "submit"
для
Кнопка «Войти».Он также содержит некоторые скрытые текстовые поля, которые пользователь
не видит, что Django использует для определения дальнейших действий.
Он также сообщает браузеру, что данные формы должны быть отправлены по URL-адресу
указан в атрибуте действия
-
/ admin /
- и что он
должны быть отправлены с использованием механизма HTTP, указанного в атрибуте method
- пост
.
Когда срабатывает элемент
,
данные возвращаются на / admin /
.
GET
и POST
¶ GET
и POST
- единственные методы HTTP, которые можно использовать при работе с формами.
Форма входа в Django возвращается с использованием метода POST
, в котором браузер
объединяет данные формы, кодирует их для передачи, отправляет на сервер,
а затем получает ответ.
GET
, напротив, объединяет представленные данные в строку и использует это
составить URL.URL-адрес содержит адрес, по которому должны быть отправлены данные, как
а также ключи и значения данных. Вы можете увидеть это в действии, если выполните поиск
в документации Django, которая создаст URL-адрес формы https://docs.djangoproject.com/search/?q=forms&release=1
.
GET
и POST
обычно используются для разных целей.
Любой запрос, который может быть использован для изменения состояния системы - например,
запрос, который вносит изменения в базу данных - должен использовать POST
. ПОЛУЧИТЬ
следует использовать только для запросов, не влияющих на состояние системы.
GET
также не подходит для формы пароля, потому что пароль
будет отображаться в URL-адресе и, следовательно, также в истории браузера и журналах сервера,
все в виде обычного текста. Он также не подходит для больших объемов данных,
или для двоичных данных, таких как изображение. Веб-приложение, использующее GET
запросы на формы администратора представляют собой угрозу безопасности: злоумышленник может легко
имитируйте запрос формы, чтобы получить доступ к конфиденциальным частям системы. POST
в сочетании с другими средствами защиты, такими как защита Django от CSRF, обеспечивает больший контроль над доступом.
С другой стороны, GET
подходит для таких вещей, как форма веб-поиска,
потому что URL-адреса, которые представляют запрос GET
, можно легко добавить в закладки,
поделился или отправил повторно.
Действие управления сообщениями в форме WS
Действие «Управление публикациями» позволяет создавать формы и добавлять действия для создания и обновления сообщений любого типа в WordPress.
Например, вы можете создать форму для добавления:
- Сообщение
- Стр.
- Тип нестандартной стойки
Вы также можете заполнить форму, используя данные публикации.
Это дополнение также совместимо со следующими плагинами:
О записях сообщений WordPress
Почтовые записи - это сердце WordPress. Они используются для хранения статей, исправлений и комментариев в блогах, а также используются другими плагинами, такими как WooCommerce, для хранения информации о заказе.
В базе данных WordPress есть две таблицы, в которых хранится информация о записях. В таблице wp_posts хранится основная информация о сообщениях (заголовок, дата добавления и т. Д.), Тогда как таблица wp_postmeta используется для хранения дополнительной информации о них, например, настраиваемых полей, которые вы создаете сами.
Возможность управления настраиваемыми полями сообщений не является встроенной в WordPress, поэтому вам нужно будет использовать плагин для их настройки. Мы рекомендуем использовать расширенные настраиваемые поля (ACF) или плагин Meta Box.
Надстройка WS Form Post Management позволяет создавать и редактировать метаданные сообщений путем сопоставления полей формы с мета-ключами.
Создание формы управления почтой
Автоматически (рекомендуется)
WS Form может создать форму для любой из функций управления сообщениями одним щелчком мыши. Этот процесс не только создает форму, но и полностью настраивает WS Form, чтобы форма была готова к немедленному использованию.
Для создания формы управления публикациями в WS Form:
- Щелкните «WS Form» в меню администрирования WordPress.
- Нажмите «Добавить».
- Выберите вкладку «Управление публикациями» вверху страницы.
- Щелкните тип сообщения, для которого вы хотите создать форму.
- Подождите несколько секунд, пока форма будет создана.
Вот и все! Ваша форма будет создана и готова к добавлению на ваш сайт.
Совет: Мы рекомендуем использовать автоматический метод. Этот метод не только создает форму для вас, но также сопоставляет поля и создает флажки для таксономий, связанных с выбранным типом сообщения.
Вручную
Также можно использовать любую форму, созданную в WS Form, и добавить действие, чтобы она создавала сообщение, когда пользователь сохраняет или отправляет свою форму.
Чтобы добавить действие управления публикацией:
- При редактировании формы щелкните значок «Действия» вверху страницы. Боковая панель «Действия» откроется в правой части страницы.
- Щелкните значок «Добавить» , чтобы добавить новое действие.
- Выберите «Управление публикациями» из раскрывающегося списка «Действие».Появится ряд настроек.
Как и на всех боковых панелях в форме WS, нажмите кнопку «Сохранить» внизу, чтобы сохранить изменения, или нажмите «Отмена», чтобы проигнорировать изменения.
Параметры действий управления публикациями следующие:
Когда следует запускать это действие?
Вы можете добавить сообщение, когда форма сохранена, отправлена или и то, и другое.
Тип сообщения
Выберите тип сообщения, которое вы хотите создать.
ID сообщения
Если этот параметр равен , пусто , будет создано новое сообщение.
Если этот параметр - , а не пустой , введенное значение должно быть идентификатором сообщения, которое вы хотите обновить.
В это поле можно ввести переменные формы WS. Переменные в этом параметре анализируются после отправки формы.
Вот несколько примеров значений, которые вы можете ввести в это поле:
ID сообщения | Описание |
---|---|
123 | Обновите сообщение или страницу, указав ID: 123.Этот метод - хороший способ тестирования пост-обновлений. |
#post_id | Обновите сообщение или страницу, на которой отображается форма. Переменная #post_id возвращает идентификатор текущего сообщения или страницы. |
# поле (456) | Используйте отправленное значение поля ID: 456 в качестве идентификатора сообщения для обновления. Например, если идентификатор поля 456 является скрытым полем с номером 123 в нем, идентификатор сообщения 123 будет обновлен. |
Передача идентификатора сообщения как переменной запроса
Можно указать идентификатор сообщения, который вы хотите обновить, как переменную в строке запроса.Например:
https://mysite.com/my-form-page/?post_id=12345
В этом примере отправленная форма будет подталкивать отправленную форму к идентификатору публикации 12345.
Для этого:
- Добавьте скрытое поле в форму.
- Установите для параметра «Значение по умолчанию» значение
#query_var ("post_id")
. - В действии Post Management введите
#field (123)
в настройках Post ID. Измените «123» на идентификатор добавленного вами скрытого поля.
Вы можете объединить это с автоматическим заполнением в настройках формы, чтобы создать функцию редактирования сообщений.
Отображение полей
Сопоставление полей сообщает WS Form, какие из полей вашей формы относятся к соответствующему создаваемому сообщению.
Чтобы отобразить поле:
- Щелкните значок «Добавить» в правом нижнем углу раздела сопоставления полей.
- В левом столбце выберите поле формы.
- В правом столбце выберите соответствующее поле сообщения.
- Повторите этот процесс для каждого поля формы.
- Нажмите кнопку «Сохранить» внизу боковой панели, чтобы сохранить изменения.
Мета-отображение полей
Надстройка также поддерживает сопоставление полей для публикации метаданных.
Чтобы сопоставить поле с метаданными:
- Щелкните значок «Добавить» в правом нижнем углу раздела мета-сопоставления.
- Выберите поле формы.
- Выберите мета-ключ, который вы хотите создать, используя поле формы.
- Повторите этот процесс для каждого поля формы.
- Нажмите кнопку «Сохранить» внизу боковой панели, чтобы сохранить изменения.
Пользовательское мета-отображение
Надстройка также поддерживает установку пользовательских мета-ключей для значений.
Чтобы добавить мета-пару "ключ-значение":
- Щелкните значок «Добавить» в правом нижнем углу раздела мета-сопоставления.
- Введите мета-ключ, для которого вы хотите установить значение.
- Введите мета-значение, для которого вы хотите установить мета-ключ.
- Повторите этот процесс для каждой мета пары "ключ-значение".
- Нажмите кнопку «Сохранить» внизу боковой панели, чтобы сохранить изменения.
Дедупликация по полю
Вы можете избежать дедупликации, указав, какое из полей вашей формы должно быть уникальным для создаваемого типа сообщения.
Чтобы указать поле, для которого вы не хотите дублировать:
- Щелкните значок «Добавить» в правом нижнем углу раздела дедупликации по полям.
- Выберите поле формы.
- Повторите этот процесс для каждого поля формы, для которого вы не хотите дублировать.
- Нажмите кнопку «Сохранить» внизу боковой панели, чтобы сохранить изменения.
Сопоставление вложений
Поля файла и подписи можно сопоставить так, чтобы они загружались как вложения к сообщению при его добавлении.
Чтобы добавить файл или поле подписи в качестве вложения:
- Щелкните значок «Добавить» в правом нижнем углу раздела сопоставления вложений.
- Выберите поле формы.
- Повторите этот процесс для каждого поля формы, которое вы хотите включить в качестве вложения.
- Нажмите кнопку «Сохранить» внизу боковой панели, чтобы сохранить изменения.
Поля файла, помеченные как множественные, приведут к множеству вложений, если загружено более одного файла.
Избранные изображения
Выберите файл или поле для подписи, которое вы хотите использовать для загрузки избранного изображения. Файл будет загружен в медиа-библиотеку, а также назначен в качестве избранного изображения публикации.
Сопоставление терминов
Вы также можете назначить условия создаваемому сообщению. К ним относятся:
- Категории постов
- Публикация тегов
- Пользовательские таксономии
Мы рекомендуем использовать поле выбора для сопоставления терминов, например флажки.
Для иерархических терминов вы должны убедиться, что отправленное значение является идентификатором термина. Вы можете сделать это, убедившись, что в вашей сетке данных флажка есть два столбца: один называется «Значения», который будет содержать идентификаторы терминов, а другой - «Ярлыки», который будет содержать имена терминов.
Для неиерархических терминов, таких как теги, вы должны убедиться, что отправленное значение является просто названием терминов.
Чтобы указать, какие поля используются для назначения терминов посту:
- Щелкните значок «Добавить» в правом нижнем углу раздела сопоставления терминов.
- Выберите таксономию, к которой относится поле формы.
- Выберите поле формы.
- Повторите этот процесс для каждого поля формы, которое вы хотите отобразить как содержащее термины.
- Нажмите кнопку «Сохранить» внизу боковой панели, чтобы сохранить изменения.
Статус
Выберите статус, который должен иметь вновь созданный пост.
Статус | Описание |
---|---|
Опубликовать | Запись доступна всем. |
По расписанию | Планируется к публикации в будущем. |
Осадка | Неполный пост, доступный для просмотра любым пользователем с надлежащей ролью. |
На рассмотрении | Ожидает пользователя с соответствующими возможностями для публикации. |
Частный | Доступно для просмотра только пользователям WordPress с уровнем администратора. |
Автор
Выберите автора сообщения.По умолчанию это текущий пользователь, вошедший на сайт.
Разрешить обновления только автору
При выборе этого параметра обновления сообщений будут ограничены, так что только исходный автор может обновлять свои собственные сообщения. Этот пользователь должен будет войти в систему, чтобы обновить свое сообщение.
Статус комментария
Укажите, может ли публикация принимать комментарии.
Статус эхо-запроса
Укажите, может ли сообщение принимать эхо-запросы.
Дата
Введите дату публикации.Оставьте поле пустым для текущего времени.
Сообщения об ошибках
WS Form PRO обрабатывает любые сообщения об ошибках, полученные от WordPress, как стандартные сообщения WS Form. Настройки сообщения об ошибке соответствуют параметрам действия «Показать сообщение». Вы можете настроить эти параметры, чтобы изменить способ отображения сообщений об ошибках для пользователей.
Forms - Inertia.js
Отправка форм
Несмотря на то, что с помощью Inertia можно отправлять классические формы, это не рекомендуется, так как они вызывают полную перезагрузку страницы.Вместо этого лучше перехватить отправленные формы, а затем сделать запрос с помощью Inertia.
Vue 2Vue 3ReactSvelte
<шаблон>
<сценарий>
импортировать {реактивный} из "vue"
импортировать {Inertia} из '@ inertiajs / inertia'
экспорт по умолчанию {
настраивать () {
const form = reactive ({
first_name: null,
last_name: null,
электронная почта: null,
})
function submit () {
Инерция.сообщение ('/ пользователи', форма)
}
вернуть {форму, отправить}
},
}
В отличие от классической формы отправки ajax, с помощью Inertia вы не обрабатываете поведение отправки сообщения на стороне клиента. Скорее, вы делаете это на стороне сервера, используя перенаправление. И, конечно же, ничто не мешает вам перенаправить обратно на страницу, на которой вы находитесь.
LaravelRails
класс UsersController расширяет контроллер
{
индекс публичной функции ()
{
return Inertia :: render ('Пользователи / Индекс', [
'users' => User :: all (),
]);
}
публичное хранилище функций ()
{
Пользователь :: создать (
Request :: validate ([
'first_name' => ['обязательно', 'максимум: 50'],
'last_name' => ['обязательно', 'максимум: 50'],
'email' => ['обязательно', 'максимум: 50', 'электронная почта'],
])
);
return Redirect :: route ('users.индекс');
}
}
Проверка на стороне сервера
Обработка ошибок проверки на стороне сервера в Inertia работает немного иначе, чем классическая форма, управляемая ajax, где вы отлавливаете ошибки проверки из ответов 422
и вручную обновляете состояние ошибки формы. Это потому, что Inertia никогда не получает 422
ответа. Скорее, Inertia работает больше как стандартная отправка полностраничной формы.
Дополнительную информацию см. На странице проверки.
Помощник формы
Поскольку работа с формами настолько распространена, Inertia поставляется с помощником формы, предназначенным для уменьшения количества шаблонов, необходимых для типичных форм.Вот как это использовать:
Vue 2Vue 3ReactSvelte
<шаблон>
{{form.errors.email}}
{{form.errors.password}}
Форма Помни меня
<сценарий>
импортировать {useForm} из '@ inertiajs / inertia-vue3'
экспорт по умолчанию {
настраивать () {
const form = useForm ({
электронная почта: null,
пароль: null,
помните: ложь,
})
вернуть {форму}
},
}
Для отправки формы используйте методы get
, post
, put
, patch
и delete
.
Vue 2Vue 3ReactSvelte
form.submit (метод, URL, параметры)
form.get (URL, параметры)
form.post (URL, параметры)
form.put (URL, параметры)
form.patch (URL, параметры)
form.delete (url, options)
Методы submit поддерживают все параметры обычного посещения, такие как preserveState
, preserveScroll
и обратные вызовы событий. Это может быть полезно для выполнения задач при успешной отправке формы, например для сброса входных данных.
Vue 2Vue 3ReactSvelte
форма.post ('/ profile', {
preserveScroll: правда,
onSuccess: () => form.reset ('пароль'),
})
Если вам нужно изменить данные формы перед их отправкой на сервер, вы можете сделать это с помощью метода transform ()
.
Vue 2Vue 3ReactSvelte
форма
.transform ((данные) => ({
...данные,
помните: данные. помните? 'на' : '',
}))
.post ('/ login')
Свойство processing
можно использовать для отслеживания того, отправляется ли форма в данный момент.Это может быть полезно для предотвращения двойной отправки формы, отключив кнопку отправки.
Vue 2Vue 3ReactSvelte
В случае, если вы загружаете файлы, текущее событие выполнения доступно через прогресс
объекта недвижимости. Это полезно для отображения прогресса загрузки. Например:
Vue 2Vue 3ReactSvelte
В случае ошибок формы они доступны через свойство errors
.
Vue 2Vue 3ReactSvelte
{{form.errors.email}}
Чтобы проверить, есть ли в форме ошибки, используйте hasErrors
свойство. Чтобы удалить ошибки формы, используйте метод clearErrors ()
.
Vue 2Vue 3ReactSvelte
// Очистить все ошибки
form.clearErrors ()
// Удаляем ошибки для определенных полей
form.clearErrors ('field', 'anotherfield')
После успешной отправки формы свойство wasSuccessful
будет иметь значение true
. В дополнение к этому существует также свойство RecentSuccessful
, которому будет присвоено значение true
в течение двух секунд после успешной отправки формы. Это полезно для отображения временных сообщений об успешном выполнении.
Чтобы восстановить исходные значения формы, используйте метод reset ()
. Обратите внимание: это вернет значения к исходным значениям, которые были предоставлены при первом создании экземпляра помощника формы.
Vue 2Vue 3ReactSvelte
// Сброс формы
form.reset ()
// Сбрасываем определенные поля
form.reset ('field', 'anotherfield')
Чтобы отменить отправку формы, используйте метод cancel ()
.
Vue 2Vue 3ReactSvelte
форма.cancel ()
Чтобы вспомогательные данные формы и ошибки автоматически запоминались в состоянии истории, вы можете предоставить уникальный ключ формы в качестве первого аргумента при создании экземпляра формы.
Vue 2Vue 3ReactSvelte
импорт {useForm} из '@ inertiajs / inertia-vue3'
const form = useForm ('CreateUser', данные)
const form = useForm (`EditUser: $ {user.id}`, data)
Чтобы проверить, есть ли в форме какие-либо изменения, используйте свойство isDirty
.
Vue 2Vue 3ReactSvelte
Есть несохраненные изменения формы.
Загрузка файлов
При посещении, которое включает файлы, Inertia автоматически преобразует данные запроса в объект FormData
.
Подробнее см. на странице загрузки файлов
XHR / fetch submissions
Использование Inertia для отправки форм отлично работает в подавляющем большинстве ситуаций. Однако, если вам нужен более точный контроль над отправкой формы, ничто не мешает вам сделать простой xhr
или вместо этого получают
запроса.Совершенно нормально использовать оба подхода в одном приложении!
Создание сообщения с отправкой формы
Fluent Forms только что представила потрясающую новую функцию, также известную как Custom Post Type (CPT) . Эта функция позволяет принимать сообщения, отправленные пользователями, и публиковать их напрямую. Эта форма автоматически создает сообщение после того, как пользователь отправляет данные. Прочтите это простое руководство, чтобы создать произвольный тип сообщения с помощью Fluent Forms.
Сначала перейдите на вкладку Modules и включите модуль Post / CPT Creation .Это позволит вам получить дополнительную возможность добавить форму публикации, как на снимке, приведенном ниже:
После этого шага перейдите на вкладку Все формы и щелкните значок стрелки вниз справа от кнопки Добавить новую форму . Затем выберите тип сообщения из этой опции. В этом примере была выбрана опция Тип сообщения:
Чтобы добавить поля сообщения, щелкните опцию Edit под заголовком сообщения. Здесь вы можете добавить все типы полей сообщения в виде заголовка сообщения, содержания, выдержки и избранных изображений:
Эта функция также позволяет добавлять поля таксономии, в которые можно добавить Категории , Теги и Форматы .Категории / теги загружаются из настроек панели управления по умолчанию. После настройки полей обязательно сохраните форму и перейдите в режим предварительного просмотра.
Последним шагом для настройки формы CPT является настройка Post Feed , расположенного на вкладке Post Creation в настройках формы. Перед добавлением этого пост-фида необходимо включить его, как в примере, приведенном ниже:
Затем вы должны настроить подачу сообщений в соответствии с вашими потребностями, установив имя канала , Тип сообщения и так далее.Затем необходимо настроить отображение полей поста. Где вы можете выбрать шорткод для полей сообщения, щелкнув меню (3 точки) с правой стороны.
В обновленной версии расширена интеграция полей ACF. Доступно 2 типа полей ACF: General и Advanced Field . Теперь вы можете сопоставить поля ACF, такие как Repeater / file / image / gallery, или любые поля с соответствующим полем Fluent Forms.