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
Linda HamiltonOriginal
2024-11-10 20:57:03623Durchsuche

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

Verwendung:

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

$('form').preventDoubleSubmission();

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();

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!

Stellungnahme:
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