Afficher plusieurs messages dans un div
Résolu
r.mahery
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voici mon problème:
Je suis débutant en Javascript Jquery et je suis sur la gestion des erreurs sur les formulaires. Lorsqu'un utilisateur saisit une "mauvaise" valeur dans un champ, je fait apparaitre un message dans un div. Sachant que j'ai plusieurs <input> et donc plusieurs message d'erreurs, je voudrais pouvoir afficher, lorsque l'utilisateur fait par exemple deux erreurs (sur un input1 et un input2), les deux message d'erreurs à la suite. En gros, concaténer deux texte.
Voici une partie mon code:
$("#err").fadeIn().text("Veuillez saisir un code");
//"err" est une div
Merci d'avance
Voici mon problème:
Je suis débutant en Javascript Jquery et je suis sur la gestion des erreurs sur les formulaires. Lorsqu'un utilisateur saisit une "mauvaise" valeur dans un champ, je fait apparaitre un message dans un div. Sachant que j'ai plusieurs <input> et donc plusieurs message d'erreurs, je voudrais pouvoir afficher, lorsque l'utilisateur fait par exemple deux erreurs (sur un input1 et un input2), les deux message d'erreurs à la suite. En gros, concaténer deux texte.
Voici une partie mon code:
$("#err").fadeIn().text("Veuillez saisir un code");
//"err" est une div
Merci d'avance
A voir également:
- Afficher plusieurs messages dans un div
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Messages supprimés whatsapp - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Afficher le 0 devant un nombre dans excel - Guide
2 réponses
Salut salut,
Tu utilises AJAX pour soumettre ton formulaire?
Peux tu poster un peu plus de code pour ce qui est du formulaire
Tu utilises AJAX pour soumettre ton formulaire?
Peux tu poster un peu plus de code pour ce qui est du formulaire
Les 2 input sont des champs texte?
Pour rester sur ta lancée, je pense que cela devrait marcher comme ça
Après j'avoue que je ne m'y prends pas exactement de cette manière pour gérer les erreur car en multipliant les champs cela va vite devenir velu.
Pour rester sur ta lancée, je pense que cela devrait marcher comme ça
var str1="Veuillez saisir un code\n"; var str11="Veuillez saisir un code valide\n"; var str2="Veuillez saisir un libellé valide\n"; var str22="Veuillez saisir un libellé\n"; var STR1=""; var STR2=""; $(document).ready(function() { $("#CodeText").keyup(function() { if($("#CodeText").val() == "") { STR1=str1; $("#err").fadeIn().text(STR1+STR2); } else{ if(!$("#CodeText").val().match(/^[a-z0-9_-]{3,16}$/i)) { STR1=str11; $("#err").fadeIn().text(STR1+STR2); } else { STR1=""; if(STR2==""){ $("#err").fadeOut().text(""); }else{ $("#err").fadeIn().text(STR2); } } } } ) $("#LibText").keyup(function() { if($("#LibText").val() == "") { STR2=str22; $("#err").fadeIn().text(STR1+STR2); } else{ if(!$("#LibText").val().match(/^[a-z0-9]+$/i)) { STR2=str2; $("#err").fadeIn().text(STR1+STR2); } else { STR2=""; if(STR1==""){ $("#err").fadeOut().text(""); }else{ $("#err").fadeIn().text(STR1); } } } } ) });
Après j'avoue que je ne m'y prends pas exactement de cette manière pour gérer les erreur car en multipliant les champs cela va vite devenir velu.
En fait je dis ça mais y a pas grand chose à changé, je pensais à autre chose.
Et bien pour éviter d'avoir à gérer des concaténation de chaine, je mettrais sous chaque champ input un champ erreur propre (erreur_libelle, erreur_pseudo), comme ça lors de la vérification il vérifie juste son champ input et affiche la div erreur correspondante sans se préoccuper de savoir si d'autre champ génèrent des erreurs à ajouter à la chaine .
Si c'est pas clair n'hésite pas ;)
Et bien pour éviter d'avoir à gérer des concaténation de chaine, je mettrais sous chaque champ input un champ erreur propre (erreur_libelle, erreur_pseudo), comme ça lors de la vérification il vérifie juste son champ input et affiche la div erreur correspondante sans se préoccuper de savoir si d'autre champ génèrent des erreurs à ajouter à la chaine .
Si c'est pas clair n'hésite pas ;)
Merci d'avoir répondu ;)
Pour l'instant, je n'utilise pas AJAX.
Code:
$(document).ready(function() {
//controles champs formulaire
//Champs de type code en format texte
$("#CodeText").keyup(function()
{
if($("#CodeText").val() == "")
{
$("#err").fadeIn().text("Veuillez saisir un code");
}
else
if(!$("#CodeText").val().match(/^[a-z0-9_-]{3,16}$/i))
{
$("#err").fadeIn().text("Veuillez saisir un code valide");
}
else
{
$("#err").fadeOut().text("");
}
}
)
//Champs de type libellé en format texte
$("#LibText").keyup(function()
{
if(!$("#LibText").val().match(/^[a-z0-9]+$/i))
{
$("#err").fadeIn().text("Veuillez saisir un libellé valide");
}
else
{
$("#err").fadeOut().text("");
}
if($("#LibText").val() == "")
{
$("#err").fadeIn().text("Veuillez saisir un libellé");
}
}
)
................................................................................................................................................................................
J'affiche le texte d'erreur dans une div (id=err). Le soucis c'est que si il y a plusieurs erreurs, seule la dernière sera affichée dans le div. Je souhaite tt afficher.