Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghalang Penyerahan Borang Web pada ENTER Keypress?

Bagaimana untuk Menghalang Penyerahan Borang Web pada ENTER Keypress?

Patricia Arquette
Lepaskan: 2024-11-17 21:02:02
asal
395 orang telah melayarinya

How to Prevent Web Form Submission on ENTER Keypress?

Menghalang Penyerahan Borang Web pada Tekan Kekunci ENTER

Apabila mereka bentuk aplikasi berasaskan web, selalunya wajar untuk menghalang kekunci ENTER daripada menyerahkan borang . Ini boleh dicapai menggunakan JavaScript.

Penyelesaian:

Semakan 2012 ( Pengendali Sebaris)

Tentukan semak fungsiMasukkan ke kendalikan tekan kekunci ENTER:

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

Tugaskan pengendali ini kepada borang:

document.querySelector('form').onkeypress = checkEnter;
Salin selepas log masuk

Ini menghalang penyerahan pada ENTER untuk semua elemen kecuali kawasan teks.

Semakan 2024 ( Perwakilan Acara)

Laksanakan pendekatan yang lebih moden menggunakan perwakilan acara:

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;
    }
  }
}

function logClear(...txt) {
  console.clear();
  console.log(...txt);
}
Salin selepas log masuk

Tambahkan atribut data-enter-for-submit pada elemen yang ingin anda serahkan pada ENTER :

<input data-enter-for-submit="1" 
    placeholder="enter text, try using enter to submit">
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghalang Penyerahan Borang Web 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