Spec-Zone.ru › Web APIs

Элемент HTMLFormElement: метод requestSubmit()

Метод HTMLFormElement requestSubmit() запрашивает отправку формы с использованием определённой кнопки отправки.

Синтаксис

requestSubmit()
requestSubmit(submitter)

Параметры

submitter Необязательно

Кнопка отправки, которая является членом формы.

Если submitter указывает form* атрибуты, они переопределят поведение отправки формы (например, formmethod="POST").

Если у submitter есть name атрибут или это <input type="image">, его данные будут включены в отправку формы (например, btnName=btnValue).

Если вы опустите параметр submitter, в качестве кнопки отправки будет использоваться сам элемент формы.

Возвращаемое значение

None (undefined).

Исключения

TypeError

Выбрасывается, если указанная submitter не является кнопкой отправки.

NotFoundError DOMException

Выбрасывается, если указанная submitter не является членом формы, к которой был вызван метод requestSubmit(). Кнопка отправки должна быть потомком элемента формы или иметь атрибут form, ссылающийся на форму.

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

Очевидный вопрос: зачем этот метод, если у нас есть метод submit() с незапамятных времён?

Ответ прост. Метод submit() отправляет форму, но только это. requestSubmit(), с другой стороны, действует так, как будто была нажата кнопка отправки. Содержимое формы проверяется, и форма отправляется только в случае успешной проверки. После отправки формы генерируется событие submit и возвращается в объект формы.

Примеры

В примере ниже форма отправляется путём попытки отправить запрос с использованием requestSubmit(), если он доступен. Если найдена кнопка отправки с идентификатором main-submit, она используется для отправки формы. В противном случае форма отправляется без параметра submitter, то есть отправляется непосредственно самой формой.

Если requestSubmit() недоступен, этот код использует метод submit() формы в качестве резервного варианта.

let myForm = document.querySelector("form");
let submitButton = myForm.querySelector("#main-submit");

if (myForm.requestSubmit) {
  if (submitButton) {
    myForm.requestSubmit(submitButton);
  } else {
    myForm.requestSubmit();
  }
} else {
  myForm.submit();
}

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

Спецификация
HTML
# dom-form-requestsubmit-dev

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
requestSubmit 76 79 75 63 16 76 79 54 16 12.0 76

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API