Maison > interface Web > js tutoriel > Comment empêcher la soumission de double formulaire dans jQuery ?

Comment empêcher la soumission de double formulaire dans jQuery ?

DDD
Libérer: 2024-11-10 08:14:02
original
771 Les gens l'ont consulté

How to Prevent Double Form Submission in jQuery?

Empêcher la resoumission d'un formulaire dans jQuery

Lors de la soumission d'un formulaire, il est crucial d'empêcher les utilisateurs de soumettre accidentellement deux fois pendant un délai de traitement du serveur. Une solution courante consiste à désactiver les éléments de formulaire lors de la soumission. Cependant, cette approche peut désactiver des éléments qui ne devraient pas l'être, tels que les entrées contenant des données essentielles.

Désactiver uniquement les boutons de soumission

Pour désactiver spécifiquement les boutons de soumission et éviter toute interférence lors de la soumission du formulaire, utilisez le code suivant :

$('button[type=submit], input[type=submit]').prop('disabled',true);
Copier après la connexion

Plugin jQuery pour la prévention des doubles soumissions

Une autre solution efficace consiste à créer un plugin jQuery qui utilise les données ( ) pour marquer les formulaires comme déjà soumis :

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;
};
Copier après la connexion

Pour utiliser le plugin, appliquez-le simplement à votre formulaire :

$('form').preventDoubleSubmission();
Copier après la connexion

Excluant les formulaires Ajax

Si vous avez des formulaires AJAX qui nécessitent plusieurs soumissions, excluez-les en ajoutant une classe et en utilisant le sélecteur suivant :

$('form:not(.js-allow-double-submission)').preventDoubleSubmission();
Copier après la connexion

En utilisant ces techniques, vous pouvez éviter les soumissions de formulaires doubles et garantir un serveur fluide. traitement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal