Heim >Web-Frontend >js-Tutorial >So verhindern Sie doppelte Formularübermittlungen in jQuery: Welche Techniken funktionieren am besten?

So verhindern Sie doppelte Formularübermittlungen in jQuery: Welche Techniken funktionieren am besten?

DDD
DDDOriginal
2024-11-09 15:07:02213Durchsuche

How to Prevent Double Form Submissions in jQuery: What Techniques Work Best?

So verhindern Sie doppelte Formularübermittlungen in jQuery

Wenn Sie mit Formularen arbeiten, deren Verarbeitung viel Zeit in Anspruch nimmt, wird verhindert, dass Benutzer versehentlich Formulare einreichen Das mehrmalige Absenden des Formulars ist von entscheidender Bedeutung. In diesem Artikel wird eine Methode beschrieben, um dies mit jQuery zu erreichen.

Erster Versuch

Der erste Ansatz bestand darin, alle Eingaben und Schaltflächen bei der Formularübermittlung zu deaktivieren. Diese Technik führte jedoch dazu, dass das Formular nicht in Firefox gesendet wurde.

Verbesserte Lösung

Die Lösung besteht darin, nur die Senden-Schaltflächen selektiv zu deaktivieren, da dies möglicherweise bei der Deaktivierung aller Eingaben der Fall ist die Übermittlung des Formulars beeinträchtigen. Dies wird durch den folgenden jQuery-Code erreicht:

$('button[type=submit], input[type=submit]').prop('disabled', true);

Alternativer Plugin-Ansatz

Eine weitere Option ist die Verwendung des folgenden jQuery-Plugins, das die data()-Funktion von jQuery zum Markieren nutzt Formulare in der übermittelten Form, wodurch spätere Übermittlungen verhindert werden.

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:

$('form').preventDoubleSubmission();

Ausgenommen AJAX-Formulare

Wenn Ihre Anwendung AJAX-Formulare enthält Sollte mehrere Einreichungen zulassen, können Sie diese ausschließen, indem Sie eine Klasse hinzufügen, wie unten gezeigt:

$('form:not(.js-allow-double-submission)').preventDoubleSubmission();

Das obige ist der detaillierte Inhalt vonSo verhindern Sie doppelte Formularübermittlungen in jQuery: Welche Techniken funktionieren am besten?. 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