Heim > Web-Frontend > js-Tutorial > Wie kann ich mit jQuery doppelte Formularübermittlungen verhindern?

Wie kann ich mit jQuery doppelte Formularübermittlungen verhindern?

Linda Hamilton
Freigeben: 2024-11-08 20:01:02
Original
255 Leute haben es durchsucht

How Can I Prevent Double Form Submissions with jQuery?

Verhindern doppelter Formularübermittlungen mit jQuery

In bestimmten Szenarien ist es unbedingt erforderlich, zu verhindern, dass Benutzer Formulare erneut senden, während der Server sie noch verarbeitet Erstvorlage. Dieser Artikel bietet eine Lösung für dieses Problem mithilfe von jQuery und verspricht, die Formularfunktionalität beizubehalten und gleichzeitig doppelte Übermittlungen effektiv zu verhindern.

jQuery-Code verursacht Probleme

Ihr ursprünglicher jQuery-Code deaktiviert alles Formularelemente, einschließlich der Schaltfläche „Senden“, was dazu führt, dass das Formular nicht gesendet wird. Es ist wichtig, nur die Schaltfläche „Senden“ zu deaktivieren, da möglicherweise mehrere Schaltflächen mit unterschiedlichen Funktionen vorhanden sind.

Überarbeitete Lösung

Eine überarbeitete Lösung nutzt Datenattribute in jQuery, um doppelte Übermittlungen zu verhindern Ändern der Absenden-Schaltflächen. Hier ist der verbesserte Code:

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

        if ($form.data('submitted') === true) {
            // Previously submitted - don't submit again
            e.preventDefault();
        } else {
            // Mark it so that the next submit can be ignored
            $form.data('submitted', true);
        }
    });

    // Keep chainability
    return this;
};
Nach dem Login kopieren

Verwendung

Um diese Lösung zu implementieren, rufen Sie einfach die Funktion „preventDoubleSubmission“ für das Formularelement auf:

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

Umgang mit AJAX-Formularen

Wenn bestimmte Formulare mehrere Übermittlungen innerhalb eines Seitenladevorgangs zulassen sollen, können Sie diese mithilfe einer Klasse ausschließen:

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

Durch die Einbindung dieser verbesserten Lösung , können Sie doppelte Formularübermittlungen in Ihren Webanwendungen wirksam verhindern, um ein nahtloses Benutzererlebnis zu gewährleisten und potenzielle Dateninkonsistenzen zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery doppelte Formularübermittlungen verhindern?. 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