Quiz javascript avec input radio

Fermé
Reysford Messages postés 2 Date d'inscription mercredi 18 juin 2014 Statut Membre Dernière intervention 21 juin 2014 - 18 juin 2014 à 22:21
dodohosting Messages postés 3 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 21 juin 2014 - 21 juin 2014 à 19:46
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 jeudi 5 juin 2014 Statut Membre Dernière intervention 21 juin 2014 2
19 juin 2014 à 00:19
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 mercredi 18 juin 2014 Statut Membre Dernière intervention 21 juin 2014
21 juin 2014 à 14:24
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 jeudi 5 juin 2014 Statut Membre Dernière intervention 21 juin 2014 2
21 juin 2014 à 19:46
Merci pour la correction ! Effectivement, je n'ai pas fait attention à ça !
0