Champs obligatoire dans un formulaire
Fermé
x-timas
Messages postés
124
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
17 décembre 2010
-
13 août 2009 à 16:44
x-timas Messages postés 124 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 17 décembre 2010 - 13 août 2009 à 17:22
x-timas Messages postés 124 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 17 décembre 2010 - 13 août 2009 à 17:22
A voir également:
- Champs obligatoire dans un formulaire
- Formulaire de réclamation facebook - Guide
- Problème carte sd formatage obligatoire - Forum Clé USB / Carte mémoire
- Formulaire de remboursement free pdf ✓ - Forum Vos droits sur internet
- Récupérer compte hotmail sans formulaire ✓ - Forum Hotmail / Outlook.com
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
4 réponses
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
13 août 2009 à 16:58
13 août 2009 à 16:58
Et bien comme id je lui donnerai le nom du champ texte de la réponse avec un 1 s'il est obligatoire et un 0 sinon par exemple nom__1 si le nom est obligatoire et prenom__0 si le prénom est pas obligatoire.
Ensuite tu récupères tous les champ avec getElementsByTagName('input');
Tu parcours les éléments et à chaque fois, grace au split, tu coupes le nom de l'élément au niveau du __
S'il n'y a pas de __, c'est un champ texte, sinon tu regarde ce qu'il y a après (si c'est un 0 ou un 1)
Et si c'est un 1, tu vérifies que le champ ayant ce nom n'est pas vide.
Il y a surement plus simple mais je pense que tu pourras t'en sortir comme ça...
Ensuite tu récupères tous les champ avec getElementsByTagName('input');
Tu parcours les éléments et à chaque fois, grace au split, tu coupes le nom de l'élément au niveau du __
S'il n'y a pas de __, c'est un champ texte, sinon tu regarde ce qu'il y a après (si c'est un 0 ou un 1)
Et si c'est un 1, tu vérifies que le champ ayant ce nom n'est pas vide.
Il y a surement plus simple mais je pense que tu pourras t'en sortir comme ça...
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
185
13 août 2009 à 17:08
13 août 2009 à 17:08
Ou sinon tu rajoutes une class à chaque champs obligatoire, et tu récupère la liste des champs obligatoires avec un getElementsByClassName
x-timas
Messages postés
124
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
17 décembre 2010
1
13 août 2009 à 17:22
13 août 2009 à 17:22
Je déconseille l'utilisation de getElementsByClassName()
Elle n'est pas supporté par IE et faudra la réimplementer. Sinon je ne voit pas trop l'idée, regarde mon dernier message
Elle n'est pas supporté par IE et faudra la réimplementer. Sinon je ne voit pas trop l'idée, regarde mon dernier message
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
13 août 2009 à 17:11
13 août 2009 à 17:11
Je ne connaissais pas cette propriété.
C'est vrai que c'est BEAUCOUP plus simple! =)
Et c'est une propriété très pratique, je vais essayer de m'en souvenir ! =)
C'est vrai que c'est BEAUCOUP plus simple! =)
Et c'est une propriété très pratique, je vais essayer de m'en souvenir ! =)
x-timas
Messages postés
124
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
17 décembre 2010
1
13 août 2009 à 17:19
13 août 2009 à 17:19
Bien, on commence à trouver une piste:
voila ce que j'ai ajouté dans mon code: on fait je test le type de la question pour savoir le genre de champs que je dois mettre.
Le $_POST['la_reponse'] aura comme clés les id des question pour que je puisse associer à chaque quetion sa réponse.
Pour ce que tu m'a dit, je met le champs input pour la vérification à chaque fois même si la question n'est pas obligatoire?
Par contre que diriez vous de cette solution, si c'est faisable ou pas je veux dire:
1. a chaque fois que je trouve une question obligatoire, je concatène l'id de la question dans une chaine de caratère avec comme séparateur un "__"
2. à la fin de la boucle qui me parcourt toute les question je place un input hidden avec comme id la chaine que j'ai construit au fur et à mesure
3. dans ma fonction js je split les champs et je recherche les champs de chaque id, puisque je met l'id des question dans le name (
Par exemple si les question d'id 56 et 18 sont obligatoire j'aurait ma chaine "56__18"
Et puis je regarde les valeurs qui sont dans la_reponse?
voila ce que j'ai ajouté dans mon code: on fait je test le type de la question pour savoir le genre de champs que je dois mettre.
switch ($q['type']){ case 'text1': echo "<input name=\"la_reponse[".$q['id_question']."][]"\" type=\"text\" />"; break; case 'text2': break; case 'textarea': echo "<textarea name=\"la_reponse[".$q['id_question']."][] ></textarea>"; break; case 'radio': break; case 'checkbox': ...
Le $_POST['la_reponse'] aura comme clés les id des question pour que je puisse associer à chaque quetion sa réponse.
Pour ce que tu m'a dit, je met le champs input pour la vérification à chaque fois même si la question n'est pas obligatoire?
Par contre que diriez vous de cette solution, si c'est faisable ou pas je veux dire:
1. a chaque fois que je trouve une question obligatoire, je concatène l'id de la question dans une chaine de caratère avec comme séparateur un "__"
2. à la fin de la boucle qui me parcourt toute les question je place un input hidden avec comme id la chaine que j'ai construit au fur et à mesure
3. dans ma fonction js je split les champs et je recherche les champs de chaque id, puisque je met l'id des question dans le name (
la_reponse[".$q['id_question']."][])
Par exemple si les question d'id 56 et 18 sont obligatoire j'aurait ma chaine "56__18"
Et puis je regarde les valeurs qui sont dans la_reponse?