Heim > Web-Frontend > js-Tutorial > Wie verhindert man die Übermittlung von Webformularen beim Drücken der EINGABETASTE?

Wie verhindert man die Übermittlung von Webformularen beim Drücken der EINGABETASTE?

Patricia Arquette
Freigeben: 2024-11-17 21:02:02
Original
395 Leute haben es durchsucht

How to Prevent Web Form Submission on ENTER Keypress?

Verhindern der Übermittlung von Webformularen beim Drücken der EINGABETASTE

Beim Entwerfen webbasierter Anwendungen ist es oft wünschenswert, zu verhindern, dass die EINGABETASTE ein Formular sendet . Dies kann mit JavaScript erreicht werden.

Lösung:

Revision 2012 (Inline-Handler)

Definieren Sie eine Funktion checkEnter zu Verarbeiten Sie den ENTER-Tastendruck:

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;
}
Nach dem Login kopieren

Weisen Sie diesen Handler dem Formular zu:

document.querySelector('form').onkeypress = checkEnter;
Nach dem Login kopieren

Dies verhindert die Übermittlung bei ENTER für alle Elemente außer Textbereichen.

Revision 2024 (Ereignisdelegation)

Implementieren Sie einen moderneren Ansatz mithilfe der Ereignisdelegation:

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);
}
Nach dem Login kopieren

Fügen Sie den Elementen, die Sie bei ENTER übermitteln möchten, das Attribut „Dateneingabe zur Übermittlung“ hinzu :

<input data-enter-for-submit="1" 
    placeholder="enter text, try using enter to submit">
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verhindert man die Übermittlung von Webformularen beim Drücken der EINGABETASTE?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage