Heim > Web-Frontend > js-Tutorial > Wie verhindert man die doppelte Formularübermittlung in jQuery?

Wie verhindert man die doppelte Formularübermittlung in jQuery?

DDD
Freigeben: 2024-11-10 08:14:02
Original
773 Leute haben es durchsucht

How to Prevent Double Form Submission in jQuery?

Verhindern der erneuten Übermittlung von Formularen in jQuery

Bei der Übermittlung von Formularen ist es wichtig zu verhindern, dass Benutzer während einer Serververarbeitungsverzögerung versehentlich zweimal übermitteln. Eine gängige Lösung besteht darin, Formularelemente beim Absenden zu deaktivieren. Dieser Ansatz kann jedoch dazu führen, dass Elemente deaktiviert werden, die nicht vorhanden sein sollten, beispielsweise Eingaben, die wichtige Daten enthalten.

Nur ​​Senden-Schaltflächen deaktivieren

Um die Senden-Schaltflächen gezielt zu deaktivieren und Störungen zu vermeiden Verwenden Sie bei der Formularübermittlung den folgenden Code:

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

jQuery-Plugin für doppelte Übermittlung Prävention

Eine weitere effektive Lösung besteht darin, ein jQuery-Plugin zu erstellen, das die data()-Funktion nutzt, um Formulare als bereits übermittelt zu markieren:

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

Um das Plugin zu verwenden, wenden Sie es einfach an zu Ihrem Formular:

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

Ausgenommen Ajax-Formulare

Wenn ja AJAX-Formulare, die mehrere Übermittlungen erfordern, schließen Sie aus, indem Sie eine Klasse hinzufügen und den folgenden Selektor verwenden:

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

Durch die Verwendung dieser Techniken können Sie doppelte Formularübermittlungen verhindern und eine reibungslose Serververarbeitung gewährleisten.

Das obige ist der detaillierte Inhalt vonWie verhindert man die doppelte Formularübermittlung in jQuery?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage