En essayant de créer un simple Choix Multiples jeu

Ma fonction qui répertorie les questions et les choix de ne pas travailler. Je reçois le code d'erreur document.getElementById(...) a la valeur null ou n'est pas un objet. La syntaxe semble correct.

Je veux les questions et les choix apparaissent pas dans le même divs. Je ne veux pas énumérer toutes mes questions à la fois. Lorsque l'utilisateur répond à une question, ils ont ensuite passer à la prochaine question qui apparaîtra exactement de la même divs que la première question jusqu'à ce que toutes les questions ont été vus.

<script>
var questions = new Array();
questions[0] = 'Is there a difference between a jungle and a rain forest?'
questions[1] = 'What is the world\'s most common religion?',
questions[2] = 'What is the second largest country (in size) in the world?';
var choices = new Array();
choices[0] = ['No difference', 'Some difference', 'Completely different'],
choices[1] = ['Christianity', 'Buddhism', 'Hinduism', 'Islam'],
choices[2] = ['USA', 'China', 'Canada', 'Russia'];
var answers = new Array();
answers[0] = ['Some difference'],
answers[1] = ['Christianity'],
answers[2] = ['Canada'];
var score = 0;
i= 0;
var listQuestion = function(){  
if( i < questions.length ){
document.getElementById("myDiv1").innerHTML = '<p>'+questions[i]+'</p>';
for (k=0; k<choices[i].length; k++){
document.getElementById("myDiv2").innerHTML ='<p><input type = "radio" name = "questionchoice">'+choices[i][k]+'</p>';
}
document.getElementById("myDiv3").innerHTML = '<p><button onClick = "getRadioValue()">Check</button></p> <br>';
};
};
var getRadioValue = function(){
for ( var h = 0; h < document.getElementsByName('questionchoice').length; h++ ){
var value = '';
if (document.getElementsByName('questionchoice')[h].checked==true){
value = document.getElementsByName('questionchoice')[h].value;
score+=1
}
}
if (value== answers[i]){
document.getElementById("myDiv4").innerHTML ="That is correct. </br><button input type = 'submit' onClick = 'loadContent()'> Next Question</button>";   
}
else {
document.getElementById("myDiv4").innerHTML ="That is incorrect. </br><button input type = 'submit' onClick = 'loadContent()'> Next Question</button>"; 
}
i++;
};
var whatIsScore = function(){
return score; 
}
window.onload = listQuestion();
</script>
</head>
<body>
<div id="myDiv1"></div> 
<div id="myDiv2"></div>
<div id="myDiv3"></div>
<div id="myDiv4"></div>
</body>
  • Avez-vous des HTML pour aller avec qui? Vous devriez avoir au moins quatre <div> éléments sur la page quelque part avec des valeurs d'id; myDiv1, myDiv2, myDiv3, myDiv4.
  • Salut Dave, je ne. Voir ci-dessous. <body> <div id="myDiv1"></div> <div id="myDiv2"></div> <div id="myDiv3"></div> <div id="myDiv4"></div> </body>
  • pouvez-vous ajouter votre source pour la question, de sorte que nous pouvons recréer votre erreur. Il ne peut pas trouver votre élément et que vous essayez d'accéder à la propriété innerHTML d'un objet null.