Bagaimana untuk Menghalang Penyerahan Borang pada Enter Keypress?

Patricia Arquette
Lepaskan: 2024-11-08 18:11:02
asal
523 orang telah melayarinya

How to Prevent Form Submission on Enter Keypress?

Menghalang Penyerahan Borang pada ENTER Keypress

Dalam aplikasi berasaskan web, menghalang kunci ENTER daripada menyerahkan borang memastikan borang itu hanya diserahkan apabila pengguna secara eksplisit mengklik butang hantar. Pendekatan ini meningkatkan pengalaman pengguna dan menghalang penyerahan borang yang tidak disengajakan.

Untuk mengelakkan kunci ENTER daripada mencetuskan penyerahan borang, anda boleh menggunakan coretan kod berikut:

function checkEnter(e) {
  e = e || event;
  var txtArea = /textarea/i.test((e.target || e.srcElement).tagName);
  return txtArea || (e.keyCode || e.which || e.charCode || 0) !== 13;
}
Salin selepas log masuk

Setelah anda menentukan fungsi checkEnter, anda boleh melampirkannya sebagai pengendali tekan kekunci pada borang:

<form [...] onkeypress="return checkEnter(event)">
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan pendekatan ES20xx berikut:

document.addEventListener(`keypress`, handle);

function handle(evt) {
  const form = evt.target.closest(`#testForm`);
  if (form) {
    if (evt.target.dataset.enterForSubmit) {
      if (evt.key === `Enter`) {
        evt.preventDefault();
        return logClear(`won't submit "${evt.target.value}"`);
      }
      return true;
    }
  }
}
Salin selepas log masuk

Pendekatan ini menggunakan perwakilan acara untuk menghalang penyerahan borang apabila kekunci ENTER ditekan, membenarkan pengguna memasukkan teks berbilang baris dalam elemen textarea tanpa mencetuskan penyerahan.

Atas ialah kandungan terperinci Bagaimana untuk Menghalang Penyerahan Borang pada Enter Keypress?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan