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 trial

JavaScript

prompt() method not working in workspace

In workspaces, the prompt() method does not show up. I have tried it in IE, Chrome, and Firefox, but it will not show up.

Can you post your code please so we can see what's going on? Thanks!

3 Answers

Assuming you don't have a syntax error my guess is that you closed the prompt window and selected the checkbox that prevents other popups opening from that website. Try closing and re-opening the tab. I am not sure if that works on all browsers, but if I have diagnosed this correctly then it should work on chrome.

Hello all, here is the latest code that I tried, and it has done the same thing on other codes.

var randomNumber = getRandomNumber(10);
var guess;
var guessCount = 0;
var correctGuess = false;

function getRandomNumber( upper ) {
  var num = Math.floor(Math.random() * upper) + 1; 
  return num;
}

while( guessCount < 10) {
  guess = prompt('I am thinking of a number between 1 and 10. What is it?');
  guessCount += 1;
  if (parseInt(guess) === randomNumber) {
    correctGuess = true;
    break;
  }  
} if ( correctGuess )

document.write('<h1>You guessed the number!</h1>');
document.write('It took you ' + guessCount + ' tries to guess the number ' + randomNumber);
else{
  document.write( '<h1> Sorry. You did not guess the number. </h1>');
}

I will check my pop up settings and see if that fixes the problem. Thanks!

So I looked at you code and found a syntax error. You had forgotten the curly braces for the if statement near the end. Be sure to look and the developers console in your browser when code does not work as expected. It often gives you a message when there are errors that can help you find a solution.

Also here is a working version of your code:

var randomNumber = getRandomNumber(10); 
var guess; var guessCount = 0; 
var correctGuess = false;

function getRandomNumber( upper ) { 
    var num = Math.floor(Math.random() * upper) + 1; return num; 
}

while( guessCount < 10) { 
    guess = prompt('I am thinking of a number between 1 and 10. What is it?'); 
    guessCount += 1; 
    if (parseInt(guess) === randomNumber) { 
        correctGuess = true; 
        break; 
    }
} 

// This was the if statement that was missing the curly braces
if ( correctGuess ) {
    document.write('You guessed the number!'); 
    document.write('It took you ' + guessCount + ' tries to guess the number ' + randomNumber);
} else { 
    document.write( ' Sorry. You did not guess the number. '); 
}