|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 28 ![]() |
Bonjour
Je voudrais savoir comment faire pour activer le bouton submit "Valider" à la fin du questionnaire, lorsque l'utilisateur cliquera sur "Valider", il y aura un message qui le remercie d'avoir répondu aux questions et que le bouton "Valider" redevient grisé. J'ai essayé pas mal de choses, je vous montre mon code JS : Code :
Code :
Avez-vous une solution à ça svp ? Merci de m'aider |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 28 ![]() |
Citation:
Merci de ta réponse Pourrais-tu être plus précis stp ? ![]() Merci
|
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Code :
ben heu ... remplace '' par false et 'disabled par true ... et pis si js retrouve ses petits dans ton code entre les for if et else sasn { } ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
01
|
|
|
#5 | |||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 28 ![]() |
Citation:
Oui sans les { } parmi les for, if, else ça fonctionne, j'ai fait le test avec une case à cocher (dans une page de test). Mais là quand il s'agit de plusieurs boutons radios dans chaque question ca ne veut plus >.< |
|||
|
|
01
|
|
|
#6 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
En omettant les accolades de ta boucle for puis de tes if else imbriqués, tu laisses le navigateur extrapoler où mettre la fermeture de chaque bloc d'instructions...
Il faudrait toujours mettre les accolades.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
01
|
|
|
#7 | ||
|
Membre du Club
![]() Inscription : mars 2011 Messages : 47 ![]() |
Salut,
au lieu de ta variable isChecked utilise les variables nbQuestion et nbChecked. Si nbChecked = nbQuestion, c'est que toutes les questions ont une réponse. Code :
|
||
|
|
00
|
|
|
#8 | |||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
Citation:
est tout à fait correct. |
|||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
Il existe des règles très claires d'interprétation même sans accolades et son code est donc tout à fait correct même si son indentation le rend fort peu agréable à lire.
|
|
|
00
|
|
|
#10 | ||||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
@superzero: voici déjà qqes corrections à apporter à ta source :
HTML: -tes 2 groupes de question doivent porter des "name" différents. -un "id" doit être unique JAVASCRIPT: -ne pas dupliquer inutilement les appels aux méthodes telles que "getElementsByTagName". -pense à présenter ton code correctement (indentation) et 2 "if" imbriqués sans autre possibilité revient à mettre les 2 conditions dans un seul "if" liées par un "&&" revient à : dans ton cas : Code :
Code :
bon, maintenant on veut s'attaquer au vrai problème, tu voudrais que ton bouton "valider" se dégrise quand tu as répondu à toutes les questions, pour ce faire il faut vérifier à chaque modification(évènement) sur tes radio que la condition est remplie ou non. si tu gères effectivement ces évènements montre-nous de quelle manière tu t'y prends. (le code). |
||||
|
|
00
|
|
|
#11 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Citation:
Alors effectivement, la notation donnée fonctionne, mais pas parce que tu indiques 'disabled', c'est parce que 'disabled' est une chaine de caractère non vide dont l'équivalent booléen est true. Note que ça marche pareil avec ou ce qui n'est pas forcément rigoureux. Citation:
Effectivement, les navigateurs savent gérer les cas où les accolades sont manquantes, comme les cas où l'on oublie le ; à la fin d'une instruction. Cela ne veut pas dire que les ; ou les accolades sont facultatifs, cela veut juste dire que l'interpréteur JavaScript pallie à ces erreurs. Quant à l'exemple donné, avec imbrication d'une boucle for et de deux if sans accolade, en dehors du fait que c'est moins lisible, ça oblige le navigateur à définir comment sont délimités les différents blocs en fonction des règles définies, qui ne sont pas forcément les mêmes pour tous.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#12 | |||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Citation:
![]() La règle est pourtant simple et commune à tous les langages de programmation qu'il m'a été donné de voir : les if/for/while s'appliquent uniquement à l'instruction qui les suit directement, quelle qu'elle soit. Si cette instruction est un bloc de code (délimité en javascript par des accolades {}) alors ce bloc de code est éxecuté si la condition est remplie. Si c'est une instruction "simple" (une instruction suivie d'un point-vrigule en javascript) alors cette instruction est éxecutée sur la condition est remplie. Ce n'est en aucun cas aléatoire, quelque soit le langage. D'ailleurs il y'a deux écoles parmis les développeurs : ceux qui jugent préférable de mettre des blocs (accolades) systématiquement [j'en fais partie] pour désambigüer le code et ceux qui ne les mettent que quand c'est nécessaire. En tout cas le code suivant marchera pareil sur tous les navigateurs et sera exécuté comme le sous-entend l'indentation : Code :
|
|||
|
|
00
|
|
|
#13 | ||||||||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 28 ![]() |
Bonjour,
Merci pour vos réponses, c'est sympa Citation:
![]() Voici mon code HTML complet : Code :
Citation:
Code :
Voici le JS complet : Code :
|
||||||||
|
|
00
|
|
|
#14 | ||||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 28 ![]() |
Un grand merci à Billy KiT, ta solution fonctionne
Voici le code JS : Code :
Code :
Merci beaucoup à tous !! Vous êtes les meilleurs
|
||||
|
|
00
|
|
|
#15 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
Citation:
|
|
|
|
00
|
|
|
#16 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#17 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
Citation:
Sinon même si ton probleme est résolu, je ne comprend pas comment ton code fonctionne. À quel moment la fonction "afficher_bouton" est-elle appelée/exécutée ? |
|
|
|
00
|
|
|
#18 | |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 28 ![]() |
Citation:
Code :
<input type="radio" name="rep1" id="radio" value="radiobutton" onclick="affiche_bouton()"/> |
|
|
|
00
|
|
|
#19 |
|
Membre du Club
![]() Inscription : mars 2011 Messages : 47 ![]() |
c'est cool !Je suis pas sûr que c'est bien de remplacer les 2 if consécutifs par un &&. Même si le .checked sur un input autre que radio ou checkbox ne renvoie pas un erreur, on teste une propriété qui n'existe pas, ceci dit, cela retourne rien, donc false, bon ... avis aux spécialistes ... Pour les accolades, ça condense l'écriture, ça marche (pareil je pense), mais 1 fois sur 1 environ, si on ajoute un else, on se mange. Je me permets de rajouter que le "id" est un identifiant "unique" des objets de la page, il qu'il ne doit pas se retrouver en double (ou plus), mais je pense qu'il résulte d'un copier/coller intempestif. De plus il ne t'est pas nécessaire. Bonne continuation ... |
|
|
00
|
|
|
#20 | |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Citation:
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com