SubmitEvent

Baseline 已廣泛支援

此功能已成熟,並可在多種裝置和瀏覽器版本上執行。自 2021 年 9 月起,所有瀏覽器均已支援此功能。

SubmitEvent 介面定義了用於表示 HTML 表單的 submit 事件的物件。當表單的提交操作被呼叫時,此事件會在 <form> 元素上觸發。

Event SubmitEvent

建構函式

SubmitEvent()

建立並返回一個新的 SubmitEvent 物件,其 type 和其他選項會按照指定進行配置。請注意,目前 SubmitEvent 唯一有效的 typesubmit

例項屬性

除了下面列出的屬性外,此介面還繼承了其父介面 Event 的屬性。

submitter 只讀

一個 HTMLElement 物件,用於標識觸發表單提交的按鈕或其他元素。

例項方法

雖然 SubmitEvent 本身不提供任何方法,但它會繼承其父介面 Event 提供的任何方法。

示例

在此示例中,一個購物車的提交按鈕可能會根據使用者設定、商店設定以及支付處理商設定的最低或最高購物車總金額等因素而有所不同。每個提交元素的 id 用於識別該按鈕對應的支付處理商。

js
let form = document.querySelector("form");
form.addEventListener("submit", (event) => {
  let submitter = event.submitter;
  let handler = submitter.id;

  if (handler) {
    processOrder(form, handler);
  } else {
    showAlertMessage(
      "An unknown or unaccepted payment type was selected. Please try again.",
      "OK",
    );
  }
});

透過使用 submit 事件的 submitter 屬性來獲取提交按鈕,然後從中獲取 ID,從而獲得處理程式 ID。有了這個 ID,我們就可以呼叫一個 processOrder() 函式來處理訂單,並將表單和處理程式 ID 傳遞過去。

規範

規範
HTML
# the-submitevent-interface

瀏覽器相容性