Heim > Web-Frontend > js-Tutorial > Wie kann ich mit einem Plugin verhindern, dass Formulare in jQuery doppelt eingereicht werden?

Wie kann ich mit einem Plugin verhindern, dass Formulare in jQuery doppelt eingereicht werden?

Linda Hamilton
Freigeben: 2024-11-10 20:57:03
Original
612 Leute haben es durchsucht

How to Prevent Forms from Double Submission in jQuery with a Plugin?

So verhindern Sie die doppelte Übermittlung von Formularen in jQuery mit einem Plugin

Die Verhinderung der erneuten Übermittlung von Formularen ist von entscheidender Bedeutung, wenn die Verarbeitung auf der Serverseite Zeit in Anspruch nimmt. Leider kann das Deaktivieren aller Formulareingaben, wie Sie es mit jQuery versucht haben, die Formularübermittlung in einigen Browsern behindern.

Empfohlene Methode: jQuery-Plugin

Um doppelte Übermittlungen effektiv zu verhindern, Wir empfehlen ein benutzerdefiniertes jQuery-Plugin:

jQuery.fn.preventDoubleSubmission = function() {
  $(this).on('submit',function(e){
    var $form = $(this);

    if ($form.data('submitted') === true) {
      e.preventDefault();
    } else {
      $form.data('submitted', true);
    }
  });

  return this;
};
Nach dem Login kopieren

Verwendung:

Implementieren Sie das Plugin, indem Sie das Formular auswählen und „preventDoubleSubmission()“ aufrufen:

$('form').preventDoubleSubmission();
Nach dem Login kopieren

Anpassung:

Wenn bestimmte Formulare mehrere Einreichungen pro Seitenladevorgang zulassen sollen, weisen Sie ihnen eine Klasse zu und schließen Sie sie aus der Auswahl aus:

$('form:not(.js-allow-double-submission)').preventDoubleSubmission();
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Wie in der ursprünglichen Antwort erwähnt, ist es eine optimale Lösung, sicherzustellen, dass Operationen idempotent sind.
  • Dieses Plugin basiert auf der data()-Methode von jQuery, was möglicherweise nicht der Fall ist von älteren Browsern unterstützt werden. Berücksichtigen Sie vor der Implementierung die browserübergreifende Kompatibilität.

Das obige ist der detaillierte Inhalt vonWie kann ich mit einem Plugin verhindern, dass Formulare in jQuery doppelt eingereicht werden?. 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