bonjour,

Sur mon site il y a un QCM qui intéresse quelques personnes.
http://www.leparamoteur.fr/qcm/qcm12.html

Mais j'ai un problème que je n'arrive pas à résourdre.

Actuellement pour avoir le corrigé du qcm il faut répondre à toutes les questions. Je ne veux plus de cette fonctionnalité. je voudrai que le corrigé fonctionne quelque soit le nombre de réponses cochées.

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
180
181
182
183
184
185
186
187
188
189
190
191
 
 
var enonce_quest = new Array;
var nb_eltsform = new Array;
var formans = new Array;
var commentaire = new Array;
var ans = new Array;
var done = new Array;
var panswer = new Array;
var score = 0;
var rep = 0;
compte3=0;
 
var nb_elts=40;
 
 
var nb_elts_tot=nb_elts
 
enonce_quest [	1	]="	Vous êtes envol de navigation il est 19h12. Le coucher du soleil est intervenu à 19h02. Vous êtes équipé d'une radio permettant le contact avec un organisme au sol. Puisque le coucher du soleil est passé depuis 10 minutes : 	"
nb_eltsform[	1	]=4		
formans[	1	]="	vous devez absolument vous poser car vous êtes en infraction avec la réglementation qui interdit le vol de nuit aux ULM.	"
formans[	2	]="	vous devez avoir rejoint votre destination avant 19h32, le VFR de nuit étant interdit aux ULM.	"
formans[	3	]="	vous devez avoir déposé par radio un plan de vol (VFR de nuit ULM) avant 19h17, pour poursuivre votre vol en VFR de nuit.	"
formans[	4	]="	vous devez absolument déposer par radio un plan de vol (VFR de nuit) au plus tard 30 minutes avant le coucher du soleil. 	"
ans[	1	]= 	2	;
commentaire[	1	]="	Vous devez avoir rejoint votre destination avant 19H32, le VFR de nuit étant interdit aux ULM.	"
 
enonce_quest [	2	]="	En VFR, l'action préliminaire au vol doit comprendre l'étude attentive des bulletins et prévisions météorologiques disponibles les plus récents :	"
nb_eltsform[	2	]=4		
formans[	5	]="	sauf si aucun atterrissage n'est envisagé à plus de 30 km du départ.	"
formans[	6	]="	sauf s'il n'est pas prévu de s'éloigner de plus de 30 km de l'aérodrome de départ.	"
formans[	7	]="	sauf si le vol reste dans le circuit d'aérodrome.	"
formans[	8	]="	pour tous les vols, sans exception.	"
ans[	2	]= 	3	;
commentaire[	2	]="	sauf si le vol reste dans le circuit d'aérodrome.	"
 
enonce_quest [	3	]="	En vol, vous apercevez derrière vous un avion rapide qui vous rattrape. Vous:	"
nb_eltsform[	3	]=4		
formans[	9	]="	virez vers la gauche pour le laisser passer. 	"
formans[	10	]="	diminuez votre altitude pour qu'il vous dépasse par dessus. 	"
formans[	11	]="	maintenez votre trajectoire et votre altitude, l'avion vous dépassera par la droite. 	"
formans[	12	]="	virez vers la droite pour le laisser passer.	"
ans[	3	]= 	3	;
commentaire[	3	]="	maintenez votre trajectoire et votre altitude, l'avion vous dépassera par la droite. 	"
 
enonce_quest [	4	]="	Afin d'intégrer le circuit d'un aérodrome doté d'un organisme AFIS, en dehors des horaires de fonctionnement de cet organisme :	"
nb_eltsform[	4	]=4		
formans[	13	]="	vous vous reportez à la verticale du terrain en procédant à l'examen de l'aérodrome puis vous vous reportez directement en étape de base. 	"
formans[	14	]="	vous vous reportez à la verticale du terrain à basse hauteur en procédant à l'examen de l'aérodrome puis vous rejoignez la branche vent arrière. 	"
formans[	15	]="	vous vous reportez à la verticale du terrain en procédant à l'examen de l'aérodrome puis vous vous reportez directement en finale. 	"
formans[	16	]="	vous vous reportez à la verticale du terrain en procédant à l'examen de l'aérodrome à une hauteur supérieure à celle du tour de piste puis vous rejoignez le début de la branche vent arrière. 	"
ans[	4	]= 	4	;
commentaire[	4	]="	vous vous reportez à la verticale du terrain en procédant à l'examen de l'aérodrome à une hauteur supérieure à celle du tour de piste puis vous rejoignez le début de la branche vent arrière. 	"
 
enonce_quest [	5	]="	La présence d'une flèche de couleur voyante dans l'aire à signaux indique que :	"
nb_eltsform[	5	]=4		
formans[	17	]="	le circuit d'aérodrome s'effectue par la droite par rapport à l'axe de la piste en service. 	"
formans[	18	]="	le dégagement de la piste après l'atterrissage s'effectue par la droite. 	"
formans[	19	]="	le circuit d'aérodrome s'effectue par la gauche par rapport à l'axe de la piste en service. 	"
formans[	20	]="	le dégagement de la piste après l'atterrissage s'effectue par la gauche. 	"
ans[	5	]= 	1	;
commentaire[	5	]="	le circuit d'aérodrome s'effectue par la droite par rapport à l'axe de la piste en service. Le tour de piste est toujours à main gauche, si ce n'est pas le cas, la flèche dans l'aire à signaux l'indique en tournant à droite.	"
 
.....
......
......
 
enonce_quest [	40	]=" Les conditions aérologiques sont turbulentes, vous vous présentez en finale :	"
nb_eltsform[	40	]=4		
formans[	157	]="	 plus lentement que par temps calme.	"
formans[	158	]="	 plus vite que par temps calme.	"
formans[	159	]="	 à la même vitesse que par temps calme. 	"
formans[	160	]="	 avec une pente plus faible que par temps  calme.	"
ans[	40	]= 	2	;
commentaire[	40	]="	 plus vite que par temps calme.	Rappel : Vitesse égale sécurité "  
 
function Engine(question, answer) {
if (answer != ans[question]) {
if (!done[question]) {
done[question] = -1;
rep++;
panswer[question]=answer;
}
else {
done[question] = -1;
 
panswer[question]=answer;
   }
}
else {
if (!done[question]) {
done[question] = -1;
rep++;
panswer[question]=answer;
}
else {
panswer[question]=answer;
  }
   }}
function NextLevel () {
 
score=0;
for (var i=1;i<(nb_elts_tot+1);i++){
 if (panswer[i]==ans[i]){score++;
 }
}
 }
function correction() {
if (rep>= nb_elts ) 
{
NextLevel ()
 
correc=open("","correction","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=1,resizable=1,width=550,height=450");
correc.document.write('<BODY TEXT="#333333" BGCOLOR="#F2F2F2" LINK="#333333" VLINK="#333333" ALINK="#333333"><b><a href="http://www.leparamoteur.fr">QCM PARIS-FRANCE-PARAMOTEUR</a><br><br>- Si vous avez 30 bonnes r&eacute;ponses vous &ecirc;tes re&ccedil;us... 36 bonnes r&eacute;ponses  vous d&eacute;crochez le th&eacute;orique instructeur... Sinon encore un peu de travail !<br>_________________<br><br>VOS REPONSES AUX QCM N° 12<BR><BR>');
  score=0;
for (var i=1;i<(nb_elts_tot+1);i++){
 correc.document.write('A la question <font color="#333333" size="2"><b><strong>'+i+' votre réponse a été -- '+panswer[i].toUpperCase()+'</font ></b></strong>');
if (panswer[i]==ans[i]){score++;
 correc.document.write(" -- OK<BR>");
}
else{
 correc.document.write(" -- FAUX<BR>");
}
}
 
 
 
 correc.document.write("    <br>");
valid=1;
 correc.document.write("Vous avez "+score+" bonnes réponses sur "+nb_elts_tot+"<BR><BR>");
 
 
correc.document.write('<b><center>---***--- CORRECTION ---***---</center><BR><BR></center>');
 
 
 
for (var k=1;k<(nb_elts_tot+1);k++){
 
correc.document.write(" Question <font color='#333333' size='2'><b><strong>"+k+" "+enonce_quest[k]+"</font></b></strong>  - la bonne réponse était :<font color='#333333'><b><strong>"+ans[k]+"</font></b></strong><br>"+commentaire[k]+"<br><br>");}
 
correc.document.write('ATTENTION ! Si vous revenez aux questions précédentes le numéro des bonnes réponses peut changer, leur tirage étant aléatoire.</center><BR></font></b></strong></center></p><br><hr width="75%">');
 
correc.document.close();
 
}
else { 
   alert("Répondez d'abord à toutes les questions, SVP !");
  }  
  }
 
function affich_pag(){
 var compte=0
var compte2=0
inumber=3
 randomnumber = Math.random() ;
 rand1 = Math.round( (inumber-1) * randomnumber) + 1 ;
 
for (var i=1;i<=(nb_elts);i++) {document.write("<p><font color='#333333' size='1'><b><strong>"+i+" Question : <br>" +enonce_quest[i]+"</strong></font></p></b><font color='#003333' size='1'><blockquote>");
compte2=compte
trouv=0
for (var j=rand1+compte2;j<(nb_eltsform[i]+1+compte2);j++){
 
 document.write(j-compte2-rand1+1+" - "+formans[j]+"<BR>");compte++;
if (ans[i]==j-compte2 && trouv==0){
ans[i]=j-compte2-rand1+1;
trouv=1}
}
if (rand1>nb_eltsform[i]){
for (var j=compte2+1;j<(nb_eltsform[i]+1+compte2);j++){
 
 document.write(j-compte2+" - "+formans[j]+"<BR>");compte++;
if (ans[i]==j-compte2 && trouv==0){
ans[i]=j-compte2;
trouv=1}}
}
else{
if (rand1+compte2>compte2+1){for (var j=compte2+1;j<rand1+compte2;j++){
 
 document.write(j-compte2+nb_eltsform[i]+1-rand1+" - "+formans[j]+"<BR>")
compte++;
if (trouv==1){ligne=0}
 
if (ans[i]==j-compte2 && trouv==0){
ans[i]=j-compte2+nb_eltsform[i]+1-rand1;trouv=1}
}}
}
document.write('<font  color="#333333" size="1"><form method="POST"><p>Cochez votre réponse : </font>')
for (var k=1;k<(nb_eltsform[i]+1);k++){document.write(' <input type="radio" name="q"  value="'+k+'"onclick="Engine('+i+',this.value)"><font color="#FF0000" size="2"><strong>'+k+'   </strong></font>')
}
document.write('</p></form></blockquote><br><hr width="75%">')}
              }

Est-ce que ma demande de modification est possible sur se script ?

Vadim