Dans le développement d'applications Web, les formulaires sont un moyen important pour les utilisateurs d'interagir avec le système. Cependant, les utilisateurs soumettent parfois des formulaires plusieurs fois, ce qui entraîne non seulement une duplication de données, mais peut également affecter les performances du système et la cohérence des données.
Pour éviter la soumission répétée des formulaires par les utilisateurs, nous pouvons adopter les solutions efficaces suivantes:
Désactivez le bouton Soumettre via le code JavaScript pour empêcher les utilisateurs de cliquer plusieurs fois sur le bouton Soumettre. Voici l'exemple de code pertinent:
Lorsque le formulaire est chargé, un identifiant unique est généré et stocké dans une session ou un cookie. Lors de la soumission du formulaire, soumettez l'identifiant ensemble et vérifiez si l'identifiant existe du côté serveur. S'il existe, cela signifie qu'il s'agit d'une soumission répétée. Voici l'exemple de code:
Lors de la vérification de la soumission du côté serveur, comparez si l'identifiant soumis est conforme à l'identifiant stocké:
Après avoir soumis le formulaire, le serveur peut rediriger l'utilisateur vers une autre page (comme la page Soumettre réussie). De cette façon, même si l'utilisateur rafraîchit la page ou revient à la page de validation, le serveur sera traité comme un nouveau commit, empêchant ainsi les validations en double. L'exemple de code est le suivant:
Il convient de noter que lors de la redirection de la page, des informations rapides appropriées doivent être fournies pour informer l'utilisateur que le formulaire a été soumis avec succès.
En plus de la solution frontale, nous pouvons également utiliser la technologie côté serveur pour empêcher les soumissions répétées de formulaires. Par exemple, une base de données peut être utilisée pour stocker des enregistrements pour chaque commit et vérifier le caractère unique de l'engagement.
Empêcher les utilisateurs de soumettre des formulaires à plusieurs reprises est un problème important dans le développement Web. Ce problème peut être résolu efficacement en désactivant le bouton Soumettre, en générant des identifiants uniques, une redirection de page et une vérification côté serveur. Choisissez la solution appropriée en fonction des besoins spécifiques et optimisez l'expérience utilisateur.