Kod JavaScript yang menghalang penyerahan borang
P粉163465905
P粉163465905 2023-08-20 13:58:50
0
2
520
<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粉163465905
P粉163465905

membalas semua(2)
P粉457445858

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();
    });
}
P粉794851975

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan