首頁 > web前端 > js教程 > 如何在不使用 HTML 事件屬性的情況下監聽 JavaScript 中的表單提交事件?

如何在不使用 HTML 事件屬性的情況下監聽 JavaScript 中的表單提交事件?

Patricia Arquette
發布: 2024-10-27 11:32:30
原創
450 人瀏覽過

How can I listen to form submit events in JavaScript without using HTML event attributes?

在沒有HTML 事件屬性的JavaScript 中監聽表單提交事件

在Web 開發中,處理表單提交事件對於驗證使用者輸入和執行自訂操作至關重要。傳統上,開發人員使用 onSubmit 或 onClick 等 HTML 屬性來偵聽這些事件。但是,這種方法需要修改 HTML 程式碼,這可能不方便且容易出錯。

使用事件監聽器監聽

要在沒有 HTML 事件屬性的純 JavaScript 中監聽表單提交事件,請利用EventTarget 介面的 addEventListener() 方法。這允許您將事件偵聽器附加到表單元素,而無需修改其 HTML 標記。

<code class="javascript">var formElement = document.querySelector("form");

if (formElement.addEventListener) {
  formElement.addEventListener("submit", eventHandler, false); // Modern browsers
} else if (formElement.attachEvent) {
  formElement.attachEvent("onsubmit", eventHandler); // Old IE
}

function eventHandler(event) {
  // Handle form submission
}</code>
登入後複製

每當提交表單時,都會執行 eventHandler 函式。您可以在此函數中執行驗證邏輯或其他自訂操作。

阻止預設表單提交

如果要阻止預設表單提交行為,請在事件上呼叫PreventDefault() 方法事件處理程序中的物件:

<code class="javascript">document.querySelector("form").addEventListener("submit", function(event) {
  if (!isValid) {
    event.preventDefault(); // Prevent the form from submitting
  }
});</code>
登入後複製

使用EventTarget.addEventListener

EventTarget.addEventListener 方法受到現代瀏覽器的廣泛支援。它提供了一個跨瀏覽器解決方案,用於偵聽各種 DOM 元素(包括表單元素)上的事件。

庫的替代方案

如果您喜歡使用庫,請考慮以下選項:

  • jQuery: $(ele). submit(callback);
  • React: const call = (event) =>; {};
  • Vue : @submit="mySubmitHandler"

以上是如何在不使用 HTML 事件屬性的情況下監聽 JavaScript 中的表單提交事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板