parties modifiables |
<script
language="JavaScript"><!--
// hide
// au début, le score est à zéro :
var score=0
// Début de la fonction qui totalise les
points :
function
maj(bool,valeur) {
// bool prend la valeur 1 quand la case est cochée
// donc quand la mauvaise réponse (-1)
est cochée, score perd 1 point
// et quand la bonne réponse est
cochée score gagne 1 point :
if (bool) score = score + eval(valeur)
// bool prend la valeur 0 quand la case n'est pas cochée
// donc quand la bonne réponse n'est pas cochée, score perd 1 point
// et quand la mauvaise réponse n'est
pas cochée score gagne 1 point :
else score = score - eval(valeur)
// Fin de la fonction :
}
// Début de la fonction qui donne les
points et affiche les réponses
function affiche() {
// remplacez ci-après "29" par
le nombre de bonnes réponses
// pour ramener la note sur 20
if (score != 0)
score = parseInt(score * 20/29);
if (score == 20)
alert(score + " sur 20\nBravo !");
if ((score >= 10) && (score < 20))
alert(score + " sur 20\nPas mal, essayez encore !");
if (score < 10)
alert(score + " sur 20\nPas terrible !");
// variables pour identification du
navigateur
var browser = navigator.appName;
var version = navigator.appVersion.charAt(0);
// Remise du score à zéro
score = 0
//===============================================
// pour IE4 ou Netscape 3 et +
// le formulaire est vidé
if(browser ==
"Microsoft Internet Explorer" && version >=
4 || browser == "Netscape" && version >= 3)
{
document.quest.reset();
}
else {
alert("Votre navigateur ne permet pas
l'affichage des solutions");
}
//===============================================
// pour Netscape 3 et +
// les solutions sont affichées (voir plus loin aussi
pour IE4)
if (browser ==
"Netscape" && version >= 3) {
var msgWindow =
window.open("","REPONSES","toolbar=no,scrollbars=yes,width=250,height=350");
msgWindow.document.open();
msgWindow.document.bgColor="008000";
msgWindow.document.writeln("<H3><CENTER>"+"Réponses"+"</CENTER></H3>");
msgWindow.document.writeln("<FORM><CENTER><INPUT
TYPE='button' NAME='fin' VALUE='OK'
onclick='self.close()'></CENTER></FORM>");
// modifiez la valeur des reponses
affichees a la fin du quizz ici (Netscape 3 et +)
// voir aussi plus loin pour IE4
msgWindow.document.writeln("<p>Question
1 : b<BR>");
msgWindow.document.writeln("Question 2 : a, b<BR>");
msgWindow.document.writeln("Question 3 : b<BR>");
msgWindow.document.writeln("Question 4 : b, d, e, f<BR>");
msgWindow.document.writeln("Question 5 : a<BR>");
msgWindow.document.writeln("Question 6 : a, b, c<BR>");
msgWindow.document.writeln("Question 7 : a, b, c<BR>");
msgWindow.document.writeln("Question 8 : a, b, c<BR>");
msgWindow.document.writeln("Question 9 : a, b, c, d<BR>");
msgWindow.document.writeln("Question 10 : a, b<BR>");
msgWindow.document.writeln("Question 11 : b, c, d<BR>");
msgWindow.document.writeln("Question 12 : a, b</p>");
}
//======================================================================
// pour IE4
// les solutions sont affichées
if (browser ==
"Microsoft Internet Explorer" && version >=
4) {
var msgWindow =
window.open("","_parent","");
msgWindow.document.open();
msgWindow.document.bgColor="008000";
msgWindow.document.writeln("<H3><CENTER>"+"Réponses"+"</CENTER></H3>");
msgWindow.document.writeln("<FORM><CENTER><INPUT
TYPE='button' NAME='fin' VALUE='OK'
onclick='self.history.go(-1)'></CENTER></FORM>");
// modifiez la valeur des reponses affichees a la fin du quizz ici (IE4)
msgWindow.document.writeln("<p>Question
1 : b<BR>");
msgWindow.document.writeln("Question 2 : a, b<BR>");
msgWindow.document.writeln("Question 3 : b<BR>");
msgWindow.document.writeln("Question 4 : b, d, e, f<BR>");
msgWindow.document.writeln("Question 5 : a<BR>");
msgWindow.document.writeln("Question 6 : a, b, c<BR>");
msgWindow.document.writeln("Question 7 : a, b, c<BR>");
msgWindow.document.writeln("Question 8 : a, b, c<BR>");
msgWindow.document.writeln("Question 9 : a, b, c, d<BR>");
msgWindow.document.writeln("Question 10 : a, b<BR>");
msgWindow.document.writeln("Question 11 : b, c, d<BR>");
msgWindow.document.writeln("Question 12 : a, b</p>");
}
//======================================================
// fin de la fonction d'affichage...
}
// Quand on clique sur le bouton remise à
zéro pour effacer le score :
function remisazero() {
score = 0
}
// --></script>
<form name="quest"> balise de début du formulaire où quest est le nom du formulaire
Les balises respectivement des deux cases
proposées à la question 1
<input
type="checkbox" name="q11"
value="ON"
onclick="maj(this.checked,'-1')">
<input type="checkbox" name="q12"
value="ON"
onclick="maj(this.checked,'1')">
La première réponse q11 renvoie à la fonction maj (revoir) le couple (1, -1) si elle est cochée, sinon
renvoie (0, -1)
La deuxième réponse q12 renvoie à la fonction maj le couple (1, 1)
si elle est cochée, sinon renvoie (0, 1).
Cela fonctionne de même pour les 11 autres
questions, numérotées de q2 à q12 mais qui portent les noms
suivants pour les réponses :
par exemple, q32 pour la réponse 2 de la question 3, q111 pour la
réponse 1 de la question 11...
Les balises des deux boutons :
<input type="reset"
name="reset1" value="Remise à zéro"
onclick="remisazero()">
qui vide le formulaire (reset) et efface le score (remisazero()).
<input type="button"
name="result" value="Résultats"
onclick="affiche()">
qui appelle la fonction d'affichage des résultats (affiche()).