Maison > interface Web > js tutoriel > Comment empêcher les soumissions de formulaires doubles dans jQuery sans désactiver les éléments de formulaire ?

Comment empêcher les soumissions de formulaires doubles dans jQuery sans désactiver les éléments de formulaire ?

Patricia Arquette
Libérer: 2024-11-08 16:51:02
original
744 Les gens l'ont consulté

How to Prevent Double Form Submissions in jQuery Without Disabling Form Elements?

Empêcher les doubles soumissions dans les formulaires à l'aide de jQuery

Les utilisateurs soumettent souvent à nouveau des formulaires accidentellement, en particulier lorsqu'ils prennent beaucoup de temps à traiter. Pour éviter cela, jQuery peut être utilisé pour désactiver les soumissions de formulaires après la première tentative. Cependant, dans certains cas, la désactivation de tous les éléments du formulaire, y compris les entrées, peut involontairement empêcher la soumission elle-même.

Solution améliorée à l'aide du plugin jQuery

Une approche alternative consiste à utiliser un plugin jQuery pour gérer la prévention des doubles soumissions. Ce plugin exploite la méthode data() de jQuery pour marquer les formulaires comme soumis ou non.

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

Utilisation

Pour utiliser ce plugin, incluez-le simplement avec $(' form').preventDoubleSubmission();.

Exclure les AJAX autorisés Formulaires

Si certains formulaires (par exemple, les formulaires AJAX) doivent être autorisés à être soumis plusieurs fois, ils peuvent être exclus à l'aide de classes CSS, comme le montre l'exemple suivant :

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

Avec cette méthode, les formulaires peuvent être soumis sans aucun problème, tandis que les resoumissions accidentelles sont efficacement évitées, améliorant ainsi l'expérience utilisateur et évitant toute perte potentielle de données.

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