Bonjour, je débute en javascript. Je désire créer un quizz avec questions aléatoires, j'ai réussi à faire le tirage, l'affichage des question , mais c'est lors de la vérification des checkbox que j'ai un souci.
Voici mon code:
En fait lorsque je teste mon script une erreur s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179 //On verifie les valeurs function verif_form(){ var btn= new Array(); var resultat = new Array(); var reponse = new Array(); var point=0; for(v=1;v<5;v++){ reponse[v] = nmb[v][4]; btn[v] = document.quizz.elements["q"+(v)]; for(k=0;k<3;k++){ if(btn[v][0].checked == true || btn[v][1].checked == true || btn[v][2].checked == true){ if(btn[v][k].checked == true){ resultat[v] = btn[v][k].value; if(resultat[v] == reponse[v]){ point += 1; } } } } } alert("Vous avez une note de "+point+"/5"); return false; } //Tableau de questions quest = new Array(20); quest[0] = new Array(5); quest[1] = new Array(5); quest[2] = new Array(5); quest[3] = new Array(5); quest[4] = new Array(5); quest[5] = new Array(5); quest[6] = new Array(5); quest[7] = new Array(5); quest[8] = new Array(5); quest[9] = new Array(5); quest[10] = new Array(5); quest[11] = new Array(5); quest[12] = new Array(5); quest[13] = new Array(5); quest[14] = new Array(5); quest[15] = new Array(5); quest[16] = new Array(5); quest[17] = new Array(5); quest[18] = new Array(5); quest[19] = new Array(5); quest[0][0] = "IF et ELSE sont des instructions :"; quest[0][1] = "conditionnelles"; quest[0][2] = "répétitives"; quest[0][3] = "informatives"; quest[0][4] = "conditionnelles"; quest[1][0] = "Vous avez une instruction IF à deux conditions reliée par un AND. Une des conditions n'est pas vérifiée, que se passe t'il alors?"; quest[1][1] = "le bloc correspondant à OUI est exécuté"; quest[1][2] = "rien n'est exécuté"; quest[1][3] = "le bloc correspondant à NON est exécuté"; quest[1][4] = "le bloc correspondant à NON est exécuté"; quest[2][0] = "Vous avez une instruction IF à deux conditions reliée par un AND. Les deux conditions sont vérifiées, que se passe t'il alors?"; quest[2][1] = "le bloc correspondant à OUI est exécuté"; quest[2][2] = "rien n'est exécuté"; quest[2][3] = "le bloc correspondant à NON est exécuté"; quest[2][4] = "le bloc correspondant à OUI est exécuté"; quest[3][0] = "Vous avez une instruction IF à deux conditions reliée par un OR. Les deux conditions ne sont pas vérifiées, que se passe t'il alors?"; quest[3][1] = "le bloc correspondant à OUI est exécuté"; quest[3][2] = "rien n'est exécuté"; quest[3][3] = "le bloc correspondant à NON est exécuté"; quest[3][4] = "le bloc correspondant à NON est exécuté"; quest[4][0] = "Vous avez une instruction IF à deux conditions reliée par un OR. Une des conditions n'est pas vérifiée, que se passe t'il alors?"; quest[4][1] = "le bloc correspondant à OUI est exécuté"; quest[4][2] = "rien n'est exécuté"; quest[4][3] = "le bloc correspondant à NON est exécuté"; quest[4][4] = "le bloc correspondant à OUI est exécuté"; quest[5][0] = "Qu'appelle t-on en informatique, la programmation?"; quest[5][1] = "la codification d'un programme"; quest[5][2] = "l'élaboration d'un programme"; quest[5][3] = "l'élaboration et la codification d'un programme"; quest[5][4] = "l'élaboration et la codification d'un programme"; quest[6][0] = "Qu'appelle t-on en informatique, un fichier source?"; quest[6][1] = "le fichier à partir duquel s'inspire un programmeur pour faire un programme"; quest[6][2] = "le fichier à la base d'un programme informatique"; quest[6][3] = "un programme informatique"; quest[6][4] = "un programme informatique"; quest[7][0] = "Qu'est ce qu'un algorithme?"; quest[7][1] = "une machine pour calculer le rythme cardiaque"; quest[7][2] = "une suite d'instructions qui amènent à un résultat"; quest[7][3] = "un rythme spécial pour les instruments à vent"; quest[7][4] = "une suite d'instructions qui amènent à un résultat"; quest[8][0] = "IF fait partie de la classe des instructions de :"; quest[8][1] = "sécurité"; quest[8][2] = "contrôle"; quest[8][3] = "boucle"; quest[8][4] = "contrôle"; quest[9][0] = "WHILE fait partie de la classe des instructions de :"; quest[9][1] = "sécurité"; quest[9][2] = "contrôle"; quest[9][3] = "boucle"; quest[9][4] = "boucle"; quest[10][0] = "L'instruction SWITCH sert à : "; quest[10][1] = "switcher un morceau de script comme dans \"Qui veut gagner des millions\""; quest[10][2] = "simplifier le programme en évitant plusieurs IF d'affilée"; quest[10][3] = "faire permuter deux parties de programme"; quest[10][4] = "simplifier le programme en évitant plusieurs IF d'affilée"; quest[11][0] = "Que signifie boucler une instruction?"; quest[11][1] = "répéter une instruction tant que les conditions sont vraies"; quest[11][2] = "terminer une instruction quand les instructions sont fausses"; quest[11][3] = "rassembler une instruction avec une autre"; quest[11][4] = "répéter une instruction tant que les conditions sont vraies"; quest[12][0] = "SWITCH fait partie de la classe des instructions de :"; quest[12][1] = "sécurité"; quest[12][2] = "contrôle"; quest[12][3] = "boucle"; quest[12][4] = "contrôle"; quest[13][0] = "FOR fait partie de la classe des instructions de :"; quest[13][1] = "contrôle"; quest[13][2] = "sécurité"; quest[13][3] = "boucle"; quest[13][4] = "boucle"; quest[14][0] = "Quelle est la différence entre WHILE et DO...WHILE?"; quest[14][1] = "aucune différence"; quest[14][2] = "avec DO...WHILE les instructions sont exécutées en premier"; quest[14][3] = "les instructions de DO...WHILE sont exécutées une seule fois"; quest[14][4] = "avec DO...WHILE les instructions sont exécutées en premier"; quest[15][0] = "Quelle est la différence entre WHILE et FOR?"; quest[15][1] = "FOR est une instruction de contrôle et WHILE une instruction de boucle"; quest[15][2] = "aucune différence"; quest[15][3] = "FOR sert dans des cas différents que ceux de WHILE"; quest[15][4] = "un programme informatique"; quest[16][0] = "De quoi est constituée une variable?"; quest[16][1] = "d'un nom et d'une valeur"; quest[16][2] = "d'un nom et d'une constante"; quest[16][3] = "d'un nom seulement"; quest[16][4] = "d'un nom et d'une valeur"; quest[17][0] = "Quelle est la différence entre une constante et une variable?"; quest[17][1] = "la valeur d'une variable peut seulement être une chaîne de caractères"; quest[17][2] = "la valeur de la variable peut changer"; quest[17][3] = "le nom d'une variable peut être modifié"; quest[17][4] = "la valeur de la variable peut changer"; quest[18][0] = "Que faut il faire avant de pouvoir utiliser une variable?"; quest[18][1] = "la déclarer"; quest[18][2] = "la déclarer et lui affecter une valeur"; quest[18][3] = "rien, on peut en utiliser une sans déclaration"; quest[18][4] = "la valeur de la variable peut changer"; quest[19][0] = "La valeur d'une constante est :"; quest[19][1] = "toujours égale à 0"; quest[19][2] = "impossible à modifier par le programme"; quest[19][3] = "modifiable par le programme"; quest[19][4] = "impossible à modifier par le programme"; nmb = new Array(); //On tire les nombres au hasard for(i=0;i<6;i++){ var n= Math.round(Math.random()*19); for(j=0;j!=i;j++){ if(n == nmb[j]){ var n= Math.round(Math.random()*19); nmb[i] = n; j-=1; }else{nmb[i] = n;} }} //Affichage des questions document.write("<form name='quizz'>"); for(h=1;h!=6;h++){ q = nmb[h] ; document.write(h+">>"+quest[q][0]+"<img src='smiley/interrogation.gif'><br><br>"); for(u=1;u<4;u++){ document.write("<input type=radio value=\""+quest[q][u]+"\"NAME=\"q"+(h)+"\">"+quest[q][u]+"<br>"); } document.write("<br><br>") } document.write("<center><input type='button' value='Vérification' onClick='return verif_form()'> <input type='reset' value='Annuler'></center>"); document.write("</form>");
Si vous pouviez me dire que faire pour résoudre mon probleme, je vous serai tres reconnaissants.
Merci bien
Partager