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 trialJamie Campbell
Courses Plus Student 7,603 PointsI can't find the mistake
I copied the code exactly from the video. When it loads, the prompt box doesn't close even when the typed answer is correct. Quit works, though.
var message = ' ';
var student;
var search;
function print( message ) {
var outputDiv = document.getElementById('output');
outputDiv.innerHTML = message;
}
function getStudentReport( student ) {
var report = '<h2>Student Name: ' + students.name + '</h2>';
report += '<p>Track: ' + students.track + '</p>';
report += '<p>Achievements: ' + students.achievements + '</p>';
report += '<p>Points: ' + students.points + '</p>';
return report;
}
while (true) {
search = prompt('Search student records: Enter student name. Type "quit" to exit.');
if ( search === null || search.toLowerCase() === 'quit' ) {
break;
}
for (var i = 0; i < students.length; i += 1) {
student = students[i];
if ( search === student.name ) {
message = getStudentReport( student );
print(message);
}
}
}
3 Answers
Eric M
11,546 PointsHi Jamie,
while (true)
will execute forever, unless there is a break statement.
Put a condition that can evaluate to true
or false
based on how you want to control the flow of the loop :)
Cheers,
Eric
Steven Parker
231,269 PointsThe prompt box should close as soon as you enter any answer. Whether it is "correct" or not shouldn't matter. That's how it performed for me, but then I had only this part of the code.
Looking at the complete code might reveal more. You can share it easily by using the "snapshot" function in the workspace (the camera icon), and then posting the link it gives you her.e
Gia Gabadadze
1,794 Pointsi use var message empty string as a while loop "true or false" condition.
while(message === ''){
search = prompt('type Students Name for Search or type "Quit" for exit from search');
if(search === null || search.toLowerCase() === 'quit' ){
break;
}
for (var i = 0; i < students.length; i += 1){
student = students[i];
if(student.name === search){
message = sTudentReport( student );
print(message);
}
}
}