Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan Penyerahan Borang dalam JavaScript Tanpa Mengubah Suai HTML?

Bagaimanakah Saya Boleh Mengesan Penyerahan Borang dalam JavaScript Tanpa Mengubah Suai HTML?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 08:52:30686semak imbas

How Can I Detect Form Submissions in JavaScript Without Modifying HTML?

Mengesan Penyerahan Borang Tanpa Mengubah Suai HTML

Untuk mengesan penyerahan borang dalam JavaScript tanpa menggunakan atribut acara HTML seperti onSubmit atau onClick, anda boleh menggunakan kaedah addEventListener atau attachEvent bagi elemen borang.

Menggunakan EventTarget.addEventListener

Untuk penyemak imbas moden yang menyokong kaedah addEventListener, sintaksnya adalah seperti berikut:

<code class="javascript">var ele = /*Your Form Element*/;
if(ele.addEventListener){
    ele.addEventListener("submit", callback, false); 
}</code>

Menggunakan EventTarget.attachEvent

Untuk versi lama Internet Explorer yang tidak menyokong addEventListener, gunakan attachEvent sebaliknya:

<code class="javascript">else if(ele.attachEvent){
    ele.attachEvent('onsubmit', callback);        
}</code>

Dalam kedua-duanya kes, panggil balik ialah fungsi yang anda mahu laksanakan apabila borang diserahkan.

Mencegah Penyerahan Lalai

Jika anda perlu menghalang borang daripada diserahkan secara asli, gunakan e .preventDefault() dalam fungsi panggil balik anda:

<code class="javascript">document.querySelector("#myForm").addEventListener("submit", function(e){
    if(!isValid){
        e.preventDefault();    
    }
});</code>

Integrasi Perpustakaan

Jika menggunakan perpustakaan diutamakan, berikut ialah beberapa pilihan popular untuk mendengar acara serah :

  • jQuery:

    <code class="javascript">$(ele).submit(callback);</code>
  • Perpustakaan Lain:
    Rujuk dokumentasi bagi pustaka pilihan anda untuk butiran pelaksanaan khusus.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Penyerahan Borang dalam JavaScript Tanpa Mengubah Suai 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