Javascript:提示和条件

时间:2014-07-22 14:34:46

标签: javascript conditional prompt

我正在研究Javascript。 我需要一个建议来解决这个问题。

当答案是B或C时,我想显示两个不同的提示。 我的代码出了什么问题?

function whatBring() {
  if (prompt('What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon') == 'A') {
       alert('bene, conosci la storia!');
    } else if (prompt(''What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon') == 'B'){
       alert('Hint: it's not correct!');
    } else if (prompt(''What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon') == 'C'){
       alert('Hint: it's not correct!');
   }
}

感谢您的帮助!

5 个答案:

答案 0 :(得分:1)

问题(除语法错误外,请参阅问题中的突出显示)是您反复重新提示。

如果您只想提示一次,然后检查各种值,您有两个选择:

  1. 使用switch

    switch (prompt(/*...*/)) {
        case 'A':
            // alert for A
            break;
        case 'B':
            // alert for B
            break;
        case 'C':
            // alert for C
            break;
        default:
            // alert if it's none of the above
            break;
    }
    
  2. 记住变量中的值,然后检查变量:

    var answer = prompt(/*...*/);
    if (answer === 'A') {
        // alert for A
    }
    else if (answer === 'B') {
        // alert for B
    }
    else if (answer === 'C') {
        // alert for C
    }
    else {
        // alert if it's none of the above
    }
    

答案 1 :(得分:1)

function whatBring() 
{
        var response = prompt('What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon');

        if (response == 'A') {
              alert('bene, conosci la storia!');
        }
        else  
        {
            // All other responses are incorrect.
             alert('Hint: it's not correct!');
        }
}

答案 2 :(得分:0)

进行单个提示调用,捕获变量的输入并比较:

function whatBring() {
    var input = prompt('What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon') == 'A');

    if (input == "A") {

    } else if (input == "B") {

    } else if (input == "C") {

    }
}

答案 3 :(得分:0)

您正在使用三个prompt次调用,因此如果第一次调用不正确,则会显示另一个提示,而不是根据三个不同的值检查一个提示中的值。

将提示中的结果放在变量中,以便您可以在所有条件下使用它:

var answer = prompt('What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon');

if (answer == 'A') {
  ... and so on

答案 4 :(得分:0)

您可能会根据用户的回答提示3次。您应该提示一次,然后将响应存储在变量中,然后使用该变量在if语句中进行比较。

var promptAnswer = prompt("What brings Little Red Riding Hood in the basket?  A: Food - B: Book - C:Carbon");

if (promptAnswer == 'A')
else if (promptAnswer == 'B')