Questionnaire-quiz

Soyez le premier à donner votre avis sur cette source.

Vue 21 797 fois - Téléchargée 1 534 fois

Description

Ceci est un questionnaire. Une fois les réponses entrées, le script vérifie la réponse, affiche la solution et une image (V ou X).

Source / Exemple :


<html>

<head>

<title>Questionnaire</title>

<SCRIPT language="JavaScript">
var nbquestions = 2;			//le nombre de questions
var reponse = new Array(2);		//le nombre de réponses
reponse[0] = "est";			//les réponses (en partant de 0!!!)
reponse[1] = "suis";
//vous pouvez rajouter : reponse[2] = "lrgelgft"; ... Attention, pensez a modifier nbquestions et reponse !!!

function correction() {
var score = 0;
	for (var i=0; i<nbquestions; i++) {
		var proposition = document.getElementsByName("prop");
		imput_prop = proposition[i];
		if (imput_prop.value == reponse[i]) {
			score++;	//augmente le score d'1 point
			var images_vrai = document.getElementsByName("vrai");
			img_vrai = images_vrai[i];
			img_vrai.style.display="inline";  			//affiche l'image "vrai"
			var solution = document.getElementsByName("solution");
			imput_solution = solution[i];
			imput_solution.value = "("+reponse[i]+")";		//affiche la solution
			imput_solution.style.display = "inline";		//affiche le bouton "solution"
			imput_solution.style.color = "#00CC00";			//colore le texte en vert
		}
		else {
			var images_faux = document.getElementsByName("faux");
			img_faux = images_faux[i]
			img_faux.style.display="inline";			//affiche l'image "faux"
			var solution = document.getElementsByName("solution");
			imput_solution = solution[i];
			imput_solution.value = "("+reponse[i]+")";		//affiche la solution
			imput_solution.style.display = "inline";		//affiche le bouton "solution"
			imput_solution.style.color = "#FF0000";			//colore le texte en rouge
		}
	}
	document.getElementById("total").value= score+"/"+nbquestions;		//affiche le score dans le boutton "total"
	for (var i=0; i<nbquestions; i++) {
		var proposition = document.getElementsByName("prop");
		imput_prop = proposition[i];
		imput_prop.disabled = true;					//empêche la modification des données des boutons "prop"
	}
}

function efface() {
		location.reload();						//recharge la page
		return(false);
}
</script>

</head>

<body>

<p>Compléter avec le verbe conjugué :</p>

<form id="questions">
  <p><img name="vrai" border="0" src="images/vrai.jpg" width="20" height="20" id="image1_1" style="display:none"><img name="faux" border="0" src="images/faux.jpg" width="20" height="20" id="image1_2" style="display:none">&nbsp;&nbsp;&nbsp;&nbsp;1.Il <input name="prop" type="text" id="button1" size="10"><input name="solution" style="display:none;font-weight:bold;border:none" type="text" id="button1" size="5" readonly="readonly"> (être) pompier.</p>
  <p><img name="vrai" border="0" src="images/vrai.jpg" width="20" height="20" id="image2_1" style="display:none"><img name="faux" border="0" src="images/faux.jpg" width="20" height="20" id="image2_2" style="display:none">&nbsp;&nbsp;&nbsp;&nbsp;2.Je <input name="prop" type="text" id="button2" size="10"><input name="solution" style="display:none;font-weight:bold;border:none" type="text" id="button1" size="5" readonly="readonly"> (être) sous la douche.</p>
</form>
<form id="questionnaire">
  <p><input id="corriger" type="button" value="CORRIGER" onClick="correction()">
  <input id="effacer" type="button" value="EFFACER" onClick="efface()"></p>
  <p>Votre score : <input type="text" id="total" readonly="readonly" size="1"></p>
</form>
</body>

</html>

Conclusion :


C'est tout !!!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
185
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
14 décembre 2014

Salut Laffrey,

Perso j'aime bien ce code, ca pourrait "aider" (lol) toutes les personnes qui ne savent plus écrire en Français, mais en langage SMSisé !
Ca devient hallucinant !

Ce qui serait sympa c'est de pouvoir le développer via toute une série de questions-réponses, et de façon qui ne doit pas être lourd au chargement de la page. Pourquoi ne pas l'utiliser avec du SQL ?
Messages postés
13
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
5 juin 2007

Salut Laffrey!

merci maintenant tout est ok sur Firefox apres avoir validé, le bouton effacer reactualise et recharge le contenu des champs.
Merci c'est pratique maintenant sur IE et FM.

A très bientôt

Marial
Messages postés
5
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
19 octobre 2007

Salut Marial,
Pour le problème, c'est que Firefox ne recharge pas complètement la page. Il faut lui présiser de rendre à nouveau possible la sélection sur tout les bouttons et d'effacer leurs contenus. Voici ce que cela donne pour la fonction efface() :

function efface() {
for (var i=0; i<nbquestions; i++) {
var proposition = document.getElementsByName("prop");
imput_prop = proposition[i];
imput_prop.disabled = false; //rend possible la modification des données des boutons "prop" (pour Firefox)
imput_prop.value=""; //efface le contenu des bouttons
}
document.getElementById("total").value=""; //remet le boutton "total" à 0 (pour Firefox)
location.reload(); //recharge la page
return(false);

}


Normalement, cela devrait marcher...
Messages postés
13
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
5 juin 2007

Resalut Laffrey!

Ton code marche impécablement sur Internet Explorer mais lorsque
je l'executer sur Firefox et bonjour le bordel, il ne fonctionne plus
enfin c'est le bouton EFFACER qui ne joue pas son rôle.
Peux-tu me dire à quoi cela est-il dû? c'est tout de même ennuyeux
de voir les visiteurs sur mon site ne pouvant pas profiter de mon Quizz
surtout s'ils navigent avec Mozilla Firefox.
Merci pour ta réponse.
Marial
Messages postés
13
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
5 juin 2007

Salut Laffrey!

Merci beaucoup pour ton code et je cherchais un Quiz pareil pour l'utilisation sur mon site et le tien m'aidera beaucoup je n'oublierai point de te faire découvrir les bienfaits de ton code.
Marial
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Laffrey)