Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh mendengar borang serahan acara dalam JavaScript tanpa menggunakan atribut acara HTML?

Bagaimanakah saya boleh mendengar borang serahan acara dalam JavaScript tanpa menggunakan atribut acara HTML?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 11:32:30353semak imbas

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

Mendengar Acara Hantar Borang dalam JavaScript tanpa Atribut Acara HTML

Dalam pembangunan web, pengendalian acara penyerahan borang adalah penting untuk mengesahkan input pengguna dan melaksanakan tindakan tersuai. Secara tradisinya, pembangun telah menggunakan atribut HTML seperti onSubmit atau onClick untuk mendengar acara ini. Walau bagaimanapun, pendekatan ini memerlukan pengubahsuaian kod HTML, yang boleh menyusahkan dan mudah ralat.

Mendengar dengan Pendengar Acara

Untuk mendengar borang serah acara dalam JavaScript tulen tanpa atribut acara HTML, manfaatkan kaedah addEventListener() antara muka EventTarget. Ini membolehkan anda melampirkan pendengar acara untuk membentuk elemen tanpa mengubah suai penanda HTML mereka.

<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>

Fungsi eventHandler akan dilaksanakan apabila borang diserahkan. Anda boleh melakukan logik pengesahan anda atau tindakan tersuai lain dalam fungsi ini.

Mencegah Penyerahan Borang Lalai

Jika anda ingin menghalang kelakuan penyerahan borang lalai, hubungi kaedah preventDefault() pada acara objek dalam pengendali acara:

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

Menggunakan EventTarget.addEventListener

Kaedah EventTarget.addEventListener disokong secara meluas oleh penyemak imbas moden. Ia menawarkan penyelesaian silang penyemak imbas untuk mendengar acara pada pelbagai elemen DOM, termasuk elemen bentuk.

Alternatif dengan Perpustakaan

Jika anda lebih suka menggunakan perpustakaan, pertimbangkan pilihan berikut:

  • jQuery: $(ele).serahkan(panggilan balik);
  • React: const panggil balik = (event) => {};
  • Vue: @submit="mySubmitHandler"

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendengar borang serahan acara dalam JavaScript tanpa menggunakan atribut acara HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn