Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialRon Ziser
3,244 PointsQuiz Not Working
as far as I can tell I've replicated the code in the video exactly and nothing shows up in the browser but the title, any suggestions? (fyi i've tested and the js file is linking fine with the index file (using other Javascript code). this is the code I've written :
var questions = [ ['How many states are in the United States?', 50], ['How many continents are there?', 7], ['How many legs does an insect have?', 6] ];
var correctAnswers = 0; var question; var answer; var response; var correct = []; var wrong = [];
function print(message) { var outputDIV = document.getElementById('output'); outputDiv.innerHTML = message; }
function buildList(arr) { var listHTML = '<ol>'; for (var i = 0; i < arr.length; i += 1) { listHTML += '<li>' + arr[i] + '</li>'; } listHTML += '</ol>'; return listHTML; }
for (var i = 0; i < questions.length; i += 1) {
question = questions[i][0];
answer = questions[i][1];
response = prompt(question);
response = parseInt(response);
if (response === answer) {
correctAnswers += 1;
correct.push(question);
} else {
wrong.push(question);
}
}
html = "You got " + correctAnswers + " question(s) right." html += '<h2>You got these questions correct:</h2>'; html += buildList(correct); htm; += '<h2>You got these questions wrong:</h2>'; html += buildList(wrong); print(html);
3 Answers
KRIS NIKOLAISEN
54,972 PointsHere is a snapshot of your code that works. Can you post a snapshot or what the console says? The errors in the console should walk you through debugging.
KRIS NIKOLAISEN
54,972 PointsYou have two errors:
1) You declare outputDIV
but then use outputDiv
2) You have htm;
instead of html
here:
htm; += '<h2>You got these questions wrong:</h2>';
Did you check the console?
Ron Ziser
3,244 PointsThanks Kris, I made those changes but still not working unfortunately.
Ron Ziser
3,244 PointsIt does run the question prompts for some reason (if i delete the last section) so maybe thats a clue? I cant see any mistakes here however.
html = "You got " + correctAnswers + " question(s) right." html += '<h2>You got these questions correct:</h2>'; html += buildList(correct); html += '<h2>You got these questions wrong:</h2>'; html += buildList(wrong); print(html);
update : with this code the question prompts are running now but they run through twice for some reason and the answers are not displayed in the end.
timur
Full Stack JavaScript Techdegree Graduate 18,104 Pointshtml = "You got " + correctAnswers + " question(s) right."
html += '<h2>You got these questions correct:</h2>';
html += buildList(correct);
html += '<h2>You got these questions wrong:</h2>';
html += buildList(wrong); print(html);
I checked it in the console, you missed a semicolon after the first line. Happy Coding!
Ron Ziser
3,244 Pointsthanks, but still doesn't work!
Ron Ziser
3,244 PointsRon Ziser
3,244 Pointsok I copy and pasted the code you posted and it finally works! (really not sure what the difference was?).
many thanks for your help!
Ron Ziser
3,244 PointsRon Ziser
3,244 Pointshttp://port-80-lyodvtqzu9.treehouse-app.com/
Incase its of interest to anyone, heres a a snapshot of the code that didn't work. I could find a way to analyse it with chrome dev tools when i clicked on 'console' it says there are two errors but didn't allow me to review that Javascript.