0

它也发生在 PHP 中。每当在提示弹出窗口中输入 pass1 时,它下面的警报都会像往常一样显示。但在那之后,else的警告框也出现了。如何阻止 else 的警报框在 pass1 上执行?

function download()
{
x=prompt("Enter the download code here.")
if (x=="pass1")
{
alert("This function has been deleted by the administrator. Jeff, get the hell out       of here.")
}
if (x=="pass2")
{
alert("I like pie too.")
}
else
{
alert("The code you specified was invalid.")
}
}
4

6 回答 6

5

改变

if (x=="pass2")

else if (x=="pass2")

if/elseif/else 文档

于 2013-08-31T10:27:08.970 回答
2

试试else if喜欢

if (x=="pass1")
{
    alert("This function has been deleted by the administrator. Jeff, get the hell out       of here.")
}
else if (x=="pass2")    // Here use else if
{
    alert("I like pie too.")
}
else
{
    alert("The code you specified was invalid.")
}

你也可以使用switch喜欢

switch(x) {
    case "pass1" : 
                  alert('This function has been deleted by the administrator. Jeff, get the hell out       of here.');
                  break;
    case "pass2" :
                  alert('I like pie too.');
                  break;
    default : 
             alert('The code you specified was invalid.');
}
于 2013-08-31T10:27:46.497 回答
0

因为在你的条件if (x=="pass1")满足所以提示“pass1”,

然后,当您使用了另一个 if 语句时,它if (x=="pass2")也很满意,因为这与您的上述 if 条件不同。

因此,它更好地使用ifelse if适合您的状况。

你的代码应该是这样的,

if (x=="pass1")
{
    alert("This function has been deleted by the administrator. Jeff, get the hell out       of here.")
}
else if (x=="pass2")    // use of else if
{
    alert("I like pie too.")
}
else
{
    alert("The code you specified was invalid.")
}
于 2013-08-31T10:45:24.087 回答
0

你需要使用一个else if

function download()
{
x=prompt("Enter the download code here.")
if (x=="pass1")
{
alert("This function has been deleted by the administrator. Jeff, get the hell out       of here.")
}
else if (x=="pass2")
{
alert("I like pie too.")
}
else
{
alert("The code you specified was invalid.")
}
}
于 2013-08-31T10:28:13.197 回答
0

因为您使用了两个if语句,但对于您的解决方案,它需要是单个if语句。

因此,只需将您的第二个if语句替换为else if.

例如,

if (x=="pass1")
{
    alert("This function has been deleted by the administrator. Jeff, get the hell out       of here.")
}
else if (x=="pass2")    // else if
{
    alert("I like pie too.")
}
else
{
    alert("The code you specified was invalid.")
}
于 2013-08-31T11:02:24.920 回答
0

两件事情,

if如果通过,块执行。当它们失败时,它们会尝试找到任何关联的else块并执行。在if此之后上下文丢失。

你的代码基本上说:

如果 x=='pass1' -> show 滚出这里。其他块不存在。

如果 x=='pass2' -> 告诉他你也喜欢馅饼。( :/ ) 否则 -> 显示代码无效的消息。

所以,基本上当有人用 pass1 运行代码时,他们被告知迷路。然后,对 pass2 执行另一次检查,由于检查失败,因此显示无效代码错误。

解决方案,使用else if其他解决方案中指出的语句,甚至更好地使用 switch 案例。

于 2013-08-31T10:35:29.167 回答