Quiz javascript avec input radio

Reysford Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
dodohosting Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

Je suis en train de faire un quiz, mais j'ai un problème car après avoir cliqué sur le bouton de correction, ayant coché la bonne réponse, je n'obtiens par l'alerte correspondante. Je pense que je récupère mal le input avec la bonne réponse:

HTML:

p class="question">1. A Princeton Plainsboro, tous les médecins s'appellent par leur nom de famille. Et pourtant, ils ont bien tous un prénom, connaissez vous ceux de l'équipe de House? Choisissez la bonne proposition.<br/></p>

<ul class="answers">
<input type="radio" name="q1" value="a" id="q1a"><label for="q1a">Eric Foreman, Jason Chase et Jennifer Cameron</label><br/>
<input type="radio" name="q1" value="b" id="q1b"><label for="q1b">James Foreman, Michael Chase et Beth Cameron</label><br/>
<input type="radio" name="q1" value="c" id="q1c"><label for="q1c">Eric Foreman, Robert Chase et Allison Cameron</label><br/>
<input type="radio" name="q1" value="d" id="q1d"><label for="q1d">Chris Foreman, David Chase et James Cameron</label><br/>
</ul>


JS:

function correction(){
var reponse1=document.getElementById.value;
if (reponse1 == "q1a") {
alert('Correct!');
}
else {
alert('Sorry. The correct answer is 1');
};
}


Des solutions? ^^
A voir également:

3 réponses

dodohosting Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   2
 
Salut !

Effectivement, la récupération de la réponse n'est pas bonne.

Tu peux essayer avec ça :

var radios = document.getElementsByName('q1');

for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].checked) {
if (radios[i].value == "q1a")
{
alert('Correct!');
}
break;
}
}

J'espère que cela marchera mieux !
2
Reysford Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Salut!

Merci pour la réponse! Au début ça ne marchait pas car il y avait une erreur. C'est pas:

if (radios[i].value == "q1a")

mais:

if (radios[i].value == "a")

Voilà, merci bcp quand même ^^
0
dodohosting Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour la correction ! Effectivement, je n'ai pas fait attention à ça !
0