Validation formulaire : inactive ?
Fermé
charline159
Messages postés
208
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
22 juin 2022
-
25 févr. 2021 à 20:43
charline159 Messages postés 208 Date d'inscription lundi 14 août 2017 Statut Membre Dernière intervention 22 juin 2022 - 3 mars 2021 à 12:14
charline159 Messages postés 208 Date d'inscription lundi 14 août 2017 Statut Membre Dernière intervention 22 juin 2022 - 3 mars 2021 à 12:14
A voir également:
- Validation formulaire : inactive ?
- Formulaire de réclamation facebook - Guide
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
- Temps validation annonce le bon coin - Forum Hotmail / Outlook.com
- Commande en cours de validation fnac - Forum Consommation & Internet
- Civilité sur un formulaire - Forum VB / VBA
2 réponses
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
25 févr. 2021 à 20:56
25 févr. 2021 à 20:56
Bonjour,
Affiche la console de ton navigateur.. tu y verras un beau message d'erreur...
Affiche la console de ton navigateur.. tu y verras un beau message d'erreur...
return false; sur l'évenement submit empêche l'envoi duformulaire donc ça dépends de l'algorithme et permet éventullement de se passer de .preventDefault; ainsi que rajouter une sécurité :
dans votre code ça implique que la 1ère erreur rencontrée arrête les autres vérifications, donc ne prends pas en compte les autres erreurs.
Un return fait directement 'sortir' du bloc de code(fonction) et arrête immédiatement le code à l'endroit où est effectué le return.
Avec la variable texte qui doit être vide on peut écrire comme ça pour le même résultat:
C'est en effet ce qui paraît le lus optimisé(le moins de code à écrire) tant qu'on est à l'aise avec toutes les notions. A tester et vérifier quand même ;)
dans votre code ça implique que la 1ère erreur rencontrée arrête les autres vérifications, donc ne prends pas en compte les autres erreurs.
Un return fait directement 'sortir' du bloc de code(fonction) et arrête immédiatement le code à l'endroit où est effectué le return.
Avec la variable texte qui doit être vide on peut écrire comme ça pour le même résultat:
document.getElementById("formulaire").addEventListener('submit',function(e){ var verifForm=''; //-- vérif des champs et incrémentation du texte si erreur ... if(verifForm.length>0){// length compte le nombre de caractère(s) de la chaîne // 0 pour une chaîne vide, >0 quand du texte msgAlerte.innerHTML=verifForm; return false; } //-- sans preventDefault le formulaire est envoyé // pas besoin de rajouter submit donc et en cas d'erreur la valeur false bloque l'envoi });
C'est en effet ce qui paraît le lus optimisé(le moins de code à écrire) tant qu'on est à l'aise avec toutes les notions. A tester et vérifier quand même ;)
25 févr. 2021 à 21:21
Modifié le 26 févr. 2021 à 19:54
J'ai essayé mais je n'arrive pas à vérifier si ça marche car le formulaire fait comme s'il était envoyé. Donc même si le formulaire n'est pas rempli correctement, je peux l'envoyer, et les messages d'erreurs ne s'affichent même pas (sauf pour les langues).
Pourtant il y a bien , donc je ne vois pas comment faire ?
26 févr. 2021 à 20:14
De plus, tu n'as pas mis le addeventlistener sur le bon élément ...
C'est sur le <form> qu'il faut le mettre
26 févr. 2021 à 20:54
J'ai un peu modifié et adapté le code selon ce que je souhaitais.
Au final, j'ai enlevé le e.preventDefault() et j'ai mis un si les champs n'étaient pas remplis, mais le formulaire s'envoie quand même. C'est normal ?
26 févr. 2021 à 21:27
Il fallait laisser le premier