cari

Rumah  >  Soal Jawab  >  teks badan

Kod JavaScript yang menghalang penyerahan borang

<p>Satu cara untuk menghentikan penyerahan borang adalah dengan mengembalikan palsu daripada fungsi JavaScript anda. </p> <p>Apabila butang hantar diklik, fungsi pengesahan dipanggil. Saya mempunyai syarat dalam pengesahan borang. Jika syarat itu dipenuhi, saya memanggil fungsi yang dipanggil <strong>returnToPreviousPage();</strong>. </p> <pre class="brush:php;toolbar:false;">function returnToPreviousPage() { window.history.back(); }</pre> <p>Saya menggunakan JavaScript dan Kit Alat Dojo. </p> <p>Daripada kembali ke halaman sebelumnya, ia menyerahkan borang. Bagaimanakah cara saya membatalkan penyerahan ini dan kembali ke halaman sebelumnya? </p>
P粉163465905P粉163465905462 hari yang lalu514

membalas semua(2)saya akan balas

  • P粉457445858

    P粉4574458582023-08-21 12:43:06

    Gunakan mencegah lalai

    Dojo Toolkit

    dojo.connect(form, "onsubmit", function(evt) {
        evt.preventDefault();
        window.history.back();
    });

    jQuery

    $('#form').submit(function (evt) {
        evt.preventDefault();
        window.history.back();
    });

    Vanila JavaScript

    if (element.addEventListener) {
        element.addEventListener("submit", function(evt) {
            evt.preventDefault();
            window.history.back();
        }, true);
    }
    else {
        element.attachEvent('onsubmit', function(evt){
            evt.preventDefault();
            window.history.back();
        });
    }

    balas
    0
  • P粉794851975

    P粉7948519752023-08-21 10:22:41

    Anda boleh menggunakan nilai pulangan fungsi untuk menghalang penyerahan borang

    <form name="myForm" onsubmit="return validateMyForm();">

    Dan fungsinya adalah seperti berikut:

    <script type="text/javascript">
    function validateMyForm()
    {
      if(check if your conditions are not satisfying)
      { 
        alert("validation failed false");
        returnToPreviousPage();
        return false;
      }
    
      alert("validations passed");
      return true;
    }
    </script>

    Jika kod di atas tidak berfungsi dalam Chrome 27.0.1453.116 m, sila tetapkan medan returnValue parameter pengendali acara kepada palsu.

    Terima kasih Sam kerana berkongsi maklumat.

    Editor:

    Terima kasih kepada Vikram untuk penyelesaiannya, jika validateMyForm() mengembalikan palsu:

    <form onsubmit="event.preventDefault(); validateMyForm();">

    Di mana validateMyForm() ialah fungsi yang mengembalikan palsu apabila pengesahan gagal. Perkara utama ialah menggunakan acara nama. Kami tidak boleh menggunakan e.preventDefault()

    sebagai contoh

    balas
    0
  • Batalbalas