Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops Create a `do...while` loop

Jeffery Moore
Jeffery Moore
3,634 Points

I need help with my code, why am I getting the prompt twice?

var secret = prompt("What is the secret password?"); var secretAnswer = false;

do { secret = prompt("What is the secret password?");
if ( secret === "sesame" ) { secretAnswer = true; } } while ( ! secretAnswer ) { document.write("You know the secret password. Welcome."); }

script.js
var secret = prompt("What is the secret password?");
while ( secret !== "sesame" ) {
  secret = prompt("What is the secret password?");    
}
document.write("You know the secret password. Welcome.");
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

4 Answers

Tushar Singh
PLUS
Tushar Singh
Courses Plus Student 8,692 Points

Or you can use a 'do while' loop here. It will pop up a prompt at least once. Then as your while part suggests, it will keep on bugging the user unless he enters "sesame".

Steven Parker
Steven Parker
221,328 Points

You are asking it before the loop, and then again inside the loop.

Change the first line to just: var secret = "";

Jeffery Moore
Jeffery Moore
3,634 Points

I ended up changing it to var secret;, I realized that I only needed to declare, not define it. Thank you guys so much for the support, I was pulling my hair out on that on last night!!

Tushar Singh
Tushar Singh
Courses Plus Student 8,692 Points

"I was pulling my hair out on that on last night!!"

Congrats, I've realized one thing when I want to pull my hair out and then I solve it it's an awesome feeling and it's good you want to understand the logic behind the code rather than just copy-paste stuff. Nice to meet you ! :wink:

Jeffery Moore
Jeffery Moore
3,634 Points

Tushar the code in the box wasn't the right code, it's the do while loop I wrote above it that was wrong.