Les boutons radio contiennent des réponses qui s'excluent.
vrai faux (c'est vrai)
vrai faux (c'est faux)

Le code suivant figure dans l'en-tête du document :

diviseur
<script type="text/javascript">
/*
elements[i] designe chaque chaque bouton radio du formulaire dans l'ordre de leur creation
checked contient true (ou 1) si le bouton correspondant est coche;
la fonction accepte un nombre quelconque d'arguments
*/
function result() {
var nbReponses= 2; // contient le nombre de reponses proposees (identique pour toutes les questions)
var reponses= 0;
var count= 0;
for (i= 0; i < (arguments.length); i++) {
reponses= reponses + document.qcm.elements[i * nbReponses].checked + document.qcm.elements[(i * nbReponses) + 1].checked;
count= count + document.qcm.elements[(i * nbReponses) + arguments[i]].checked;
}
window.alert('vous avez ' + count + ' r\xE9ponse(s) bonnes sur ' + arguments.length);
}
</script>

Le code suivant figure dans le corps du document : 

diviseur
<FORM name="qcm" action="">
<!-- les boutons d'un meme groupe doivent avoir le meme nom -->
<input type= "radio" name= "q1">vrai <input type= "radio" name ="q1">faux (c'est vrai) < br>
<input type= "radio" name= "q2">vrai <input type= "radio" name= "q2">faux (c'est faux) <br>
<br>
<!-- passer l'ordre du bouton correspondant a la reponse exacte, en commencant par 0 -->
<input type="button" value="Validation" onclick= "result(0, 1);"><input type="reset" value="Recommencer">
</form>