<< retour au quizz

LE SCRIPT

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\n
Bravo !");

   if ((score >= 10) && (score < 20))
   alert(score + " sur 20\n
Pas mal, essayez encore !");

   if (score < 10)
   alert(score + " sur 20\n
Pas 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&eacute;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&eacute;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>

 

LE FORMULAIRE

<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()).