Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Boleh Menghalang Penyerahan Borang dan Ubah hala ke Halaman Sebelumnya mengenai Kegagalan Pengesahan?

Bagaimanakah JavaScript Boleh Menghalang Penyerahan Borang dan Ubah hala ke Halaman Sebelumnya mengenai Kegagalan Pengesahan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 21:55:10923semak imbas

How Can JavaScript Prevent Form Submission and Redirect to the Previous Page on Validation Failure?

Menghalang Penyerahan Borang dalam JavaScript

Soalan:

Dalam senario pengesahan borang JavaScript, bagaimana anda boleh menghalang penyerahan borang dan kembali ke halaman sebelumnya apabila keadaan tertentu bertemu?

Jawapan:

Terdapat beberapa pendekatan untuk menyelesaikan isu ini:

Kaedah 1: Menggunakan preventDefault() dan Pengesahan Fungsi

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

Dalam kaedah ini, sahkanMyForm() harus mengembalikan palsu jika pengesahan gagal.

Kaedah 2: Mengembalikan Nilai daripada Fungsi Pengesahan

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

Dalam skrip ini:

function validateMyForm() {
  if (condition fails) {
    alert("Validation failed!");
    returnToPreviousPage();
    return false;
  }

  alert("Validation passed!");
  return true;
}

Kaedah 3: Menetapkan Harta returnValue (Diperlukan untuk Chrome 27.0.1453.116 m)

function validateMyForm() {
  if (condition fails) {
    alert("Validation failed!");
    returnToPreviousPage();
    event.preventDefault();
    event.returnValue = false; // Set `returnValue` to false
  }

  alert("Validation passed!");
  return true;
}

Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Menghalang Penyerahan Borang dan Ubah hala ke Halaman Sebelumnya mengenai Kegagalan Pengesahan?. 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