Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/12/2011, 13h55   #1
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : -11
Points : -11
Par défaut Controle des réponses justes d'un formulaire

Salut,
Je suis entrain de développez une page qui contient un certain nombre des des segment (8 segment), chaque segment contient des question. lorsque l'utilisateur click sur GO elle doit afficher le nombre de réponse "yes" pour chaque segment.
le problème quand j'ai click sur Go rien ne s'affiche .
Voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<html>
<head>
	<title>Title of page</title>
	<style type="text/css">
		fieldset {
			padding:20px;
			border:3px double #000;
			}
		h1 {
			font-size:18px;
			}
		div {
		margin:15px;
			}
	</style>
	<script type="text/javascript">
	function calc()
		{
		var tabyes = new Array(); // contenir nombre des "yes" pourr chaque segment
		var tabques = new Array(9,5,1,3,3,5,3,3) // contient nombre des question dans chaque segment
		for (i=0; i<8;i++) // parcourir les segment
		 {
		    var nbyes = 0;
			for (j=0;j<tabques[i+1];j++) // parcourir les question
			 {
				if (document.form1.s[i]q[i].checked.value == 1) {nbyes++;} 
			 }
		 tabyes[i]= nbyes;
		 }
		alert(tabyes[2]); // petit test juste pour verfier si mon fonction calc foctionne 
		}
	</script>
</head>
<body>
	<form name="form1">
		<fieldset>
			<legend>Segment1: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s1q1" value="1"> No<input type="radio" name="s1q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s1q2" value="1"> No<input type="radio" name="s1q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s1q3" value="1"> No<input type="radio" name="s1q3" value="0"></div>
			<h1>Question 4:</h1>
				<div>Yes<input type="radio" name="s1q4" value="1"> No<input type="radio" name="s1q4" value="0"></div>
			<h1>Question 5:</h1>
				<div>Yes<input type="radio" name="s1q5" value="1"> No<input type="radio" name="s1q5" value="0"></div>
			<h1>Question 6:</h1>
				<div>Yes<input type="radio" name="s1q6" value="1"> No<input type="radio" name="s1q6" value="0"></div>
			<h1>Question 7:</h1>
				<div>Yes<input type="radio" name="s1q7" value="1"> No<input type="radio" name="s1q7" value="0"></div>
			<h1>Question 8:</h1>
				<div>Yes<input type="radio" name="s1q8" value="1"> No<input type="radio" name="s1q8" value="0"></div>
			<h1>Question 9:</h1>
				<div>Yes<input type="radio" name="s1q9" value="1"> No<input type="radio" name="s1q9" value="0"></div>	
		</fieldset>
		<fieldset>
			<legend>Segment2: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s2q1" value="1"> No<input type="radio" name="s2q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s2q2" value="1"> No<input type="radio" name="s2q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s2q3" value="1"> No<input type="radio" name="s2q3" value="0"></div>
			<h1>Question 4:</h1>
				<div>Yes<input type="radio" name="s2q4" value="1"> No<input type="radio" name="s2q4" value="0"></div>
			<h1>Question 5:</h1>
				<div>Yes<input type="radio" name="s2q5" value="1"> No<input type="radio" name="s2q5" value="0"></div>
		</fieldset>
		<fieldset>
			<legend>Segment3: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s3q1" value="1"> No<input type="radio" name="s3q1" value="0"></div>
			</fieldset>
		<fieldset>
			<legend>Segment4: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s4q1" value="1"> No<input type="radio" name="s4q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s4q2" value="1"> No<input type="radio" name="s4q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s4q3" value="1"> No<input type="radio" name="s4q3" value="0"></div>
		</fieldset>
		<fieldset>
			<legend>Segment5: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s5q1" value="1"> No<input type="radio" name="s5q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s5q2" value="1"> No<input type="radio" name="s5q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s5q3" value="1"> No<input type="radio" name="s5q3" value="0"></div>
		</fieldset>
		<fieldset>
			<legend>Segment6: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s6q1" value="1"> No<input type="radio" name="s6q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s6q2" value="1"> No<input type="radio" name="s6q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s6q3" value="1"> No<input type="radio" name="s6q3" value="0"></div>
			<h1>Question 4:</h1>
				<div>Yes<input type="radio" name="s6q4" value="1"> No<input type="radio" name="s6q4" value="0"></div>
			<h1>Question 5:</h1>
				<div>Yes<input type="radio" name="s6q5" value="1"> No<input type="radio" name="s6q5" value="0"></div>
		</fieldset>
		<fieldset>
			<legend>Segment7: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s7q1" value="1"> No<input type="radio" name="s7q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s7q2" value="1"> No<input type="radio" name="s7q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s7q3" value="1"> No<input type="radio" name="s7q3" value="0"></div>
		</fieldset>
		<fieldset>
			<legend>Segment8: </legend>
			<h1>Question 1:</h1>
				<div>Yes<input type="radio" name="s8q1" value="1"> No<input type="radio" name="s8q1" value="0"></div>
			<h1>Question 2:</h1>
				<div>Yes<input type="radio" name="s8q2" value="1"> No<input type="radio" name="s8q2" value="0"></div>
			<h1>Question 3:</h1>
				<div>Yes<input type="radio" name="s8q3" value="1"> No<input type="radio" name="s8q3" value="0"></div>
		</fieldset>
		<input type="button" value="GO" onclick="calc()">
	</form>
</body>
</html>
chlebta*tsotsi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 14h29   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 581
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 581
Points : 4 087
Points : 4 087
Code :
if (document.form1.s[i]q[i].checked.value == 1) {nbyes++;}

Tu t'es emmelé les pinceaux, ce n'est pas valide.

Essaie plutot :
Code :
if (document.form1.elements["s" + i + "q" + i].checked.value == 1) {nbyes++;}
...et sinon : pourquoi i à chaque fois, tu n'utilises pas j ?
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/12/2011, 15h13   #3
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : -11
Points : -11
t'a raison j'oublie d'utilise j :
Code :
if (document.form1.elements["s" + i + "q" + j].checked.value == 1) {nbyes++;}
mais toujours même problème quand j'ai click sur GO il m'affiche rien, ni erreur ni le resultat
chlebta*tsotsi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 15h20   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Code :
document.form1.elements["s" + i + "q" + j].checked.value
La propriété checked d'un input radio n'a pas de propriété value

Il faut d'abord vérifier l'état de checked puis le value.
__________________
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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 15h47   #5
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 581
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 581
Points : 4 087
Points : 4 087
Quelqu'un a vu mes lunettes ?
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 15h54   #6
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : -11
Points : -11
ça marche pas encore
bon j'ai essayer de faire une petite vérification alors je change la 2émé boucle
Code :
1
2
3
4
			for (j=0;j<tabques[i+1];j++)
			 {
				 alert(document.form1.elements["s" + i + "q" + j].value);
			 }
Quand j'ai click sur Go il n'affiche rien. je pense que le problème est dans cette partie
Code :
document.form1.elements["s" + i + "q" + j].value
chlebta*tsotsi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 16h11   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Citation:
Envoyé par chlebta*tsotsi
ça marche pas encore
C'est le message d'erreur que tu reçois ?
__________________
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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 16h12   #8
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : -11
Points : -11
Voiçi aprés quelque modification le code que j'ai :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
	function calc()
		{
		var tabyes = new Array();
		var tabques = new Array(9,5,1,3,3,5,3,3)
		for (i=1; i<9;i++)
		 {
		    var nbyes = 0;
			for (j=1;j<tabques[i-1];j++)
			 {
				 alert(document.form1.elements["s" + i + "q" + j].value);
			 }
		 tabyes[i-1] = nbyes;
		 }
		}
Le probleme la ce qu'il maffiche toujour undifined.
chlebta*tsotsi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 16h42   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Code html :
<input type="radio" name="s2q1" value="1"> No<input type="radio" name="s2q1" value="0">
Code :
alert(document.form1.elements["s" + i + "q" + j].value);
Dans le alert, c'est à JavaScript de jouer à plouf plouf pour déterminer de quel input tu parles ?
__________________
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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 18h01   #10
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : -11
Points : -11
Citation:
Envoyé par Bovino Voir le message
[/code]
Dans le alert, c'est à JavaScript de jouer à plouf plouf pour déterminer de quel input tu parles ?
j'ai pas compris.
chlebta*tsotsi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 19h21   #11
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 581
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 581
Points : 4 087
Points : 4 087
Citation:
Envoyé par chlebta*tsotsi Voir le message
j'ai pas compris.
Oui, Bovino a raison : comme il y a deux éléments nommés de la même manière, tu ne peux pas accéder directement à la value.... (un exemple (désolé, site anglophone) trouvé vite fait, désolé si la source existe sur developpez, pas le temps de chercher de suite ^^)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 20h17   #12
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : -11
Points : -11
alors comment faire pour résoudre ce problème
chlebta*tsotsi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 20h41   #13
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
En s'inspirant de la
Comment récupérer l'état de cases à cocher ?
__________________
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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h47.


 
 
 
 
Partenaires

Hébergement Web