Maison > interface Web > js tutoriel > Comment empêcher les formulaires de double soumission dans jQuery avec un plugin ?

Comment empêcher les formulaires de double soumission dans jQuery avec un plugin ?

Linda Hamilton
Libérer: 2024-11-10 20:57:03
original
612 Les gens l'ont consulté

How to Prevent Forms from Double Submission in jQuery with a Plugin?

Comment empêcher la double soumission d'un formulaire dans jQuery avec un plugin

Empêcher la resoumission d'un formulaire est crucial lorsque le traitement prend du temps côté serveur. Malheureusement, la désactivation de toutes les entrées de formulaire, comme vous l'avez tenté avec jQuery, peut empêcher la soumission du formulaire dans certains navigateurs.

Méthode recommandée : plug-in jQuery

Pour éviter efficacement la double soumission, nous recommandons un jQuery personnalisé 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;
};
Copier après la connexion

Utilisation :

Implémentez le plugin en sélectionnant le formulaire et en appelant PreventDoubleSubmission() :

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

Personnalisation :

Si certains formulaires doivent permettre plusieurs soumissions par chargement de page, attribuez-leur une classe et excluez-les du sélecteur :

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

Considérations supplémentaires :

  • Comme mentionné dans la réponse originale, garantir que les opérations sont idempotentes est une solution optimale.
  • Ce plugin s'appuie sur la méthode data() de jQuery, qui peut ne pas être prise en charge par les anciens navigateurs. Pensez à la compatibilité entre navigateurs avant la mise en œuvre.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal