请帮助我,我已经试图解决这个问题很多年了。我似乎有的问题是第二个网页弹出正确,因为第一个网页即使它应该在声明变量x之后弹出,这里是我的代码试试看,你会看到。
<script>
function myFunction()
{
var x;
var r=confirm("By pressing ok you are confirming your username and password");
if (r==true)
{
x="Thank You for Registering!";
}
else
{
x="You pressed Cancel!";
}
document.getElementById("demo").innerHTML=x;
}
var nextpage;
if (x = "Thank You for Registering!"){
window.open('Password.html');
}//end if
</script>
看到问题是“password.html”在这个页面打开的时候打开了,只有在x =“谢谢你注册”之后才能打开 如果有人把这个问题记录下来,请大家好,我将永远感激不尽。
答案 0 :(得分:0)
'='是assignment
运算符,而'=='是comparison
运算符。
例如。如果你写这样的东西。
if(x=1)//always true
{
}
else //this part will never be executed
{
}
然后上面的代码总是会导致true,所以else部分永远不会执行,你也面临同样的问题。所以 将'='替换为'=='
if (x == "Thank You for Registering!"){
window.open('Password.html');
}
答案 1 :(得分:0)
执行x = "Thank You for Registering!"
时,您将该字符串分配给x
。完成任务后,它会测试值是否为&#34; true-ish,&#34;它是什么。而不是=
(赋值),您需要==
(比较)。
答案 2 :(得分:0)
您没有正确比较变量值。你正在做X= ""
调用赋值而不是比较。因此,为了比较一个值,你需要以这种方式把它放在
x == "Thank You for Registering!"
==
将完成这项工作。把这些事情付诸实践。
了解详情here。