0

可能重复:
密码 HTML 重定向

我在使用下面的代码时遇到了一些问题,特别window.location="http://www.google.com"是当我输入正确的密码时,我无法让它重定向。

    <div class="buttons">
        <input class="orangebutton" type="submit" value="Continue" onclick="if (document.getElementById('password').value == 'hi') window.location="http://www.google.com" else alert('Wrong Password!');" />
    </div>

更新:这就是我现在所拥有的,重定向仍然不起作用。

        <input class="orangebutton" type="submit" value="Continue" onclick="if (document.getElementById('password').value == 'hello') window.location='http://www.google.com'; else alert('Wrong Password!');" />
4

4 回答 4

3

您必须转义双引号,最好使用.href作为字符串的属性,而不是location单独作为对象的属性,如下所示:

window.location.href='http://www.google.com'

更新:
使用单引号而不是双引号,因为后者无法在 html 元素的上下文中转义。感谢 James Beilby 发现了这一点。

于 2012-10-08T17:03:20.677 回答
2

如果没有更多详细信息,我无法确定这是唯一的问题,但您在以下位置使用双引号:

window.location="http://www.google.com"

由于您使用双引号来封装整个 onclick 语句,因此您需要使用单引号:

window.location='http://www.google.com'

此外,您需要在关键字“else”之前使用分号。整个处理程序变为:

onclick="if (document.getElementById('password').value == 'hi') window.location='http://www.google.com'; else alert('Wrong Password!');"
于 2012-10-08T17:03:59.460 回答
1

您的代码中有两个错误:

1)onclick参数的值包括"并且字符串在该点结束。请改用'(单引号)。

2)应该在关键字;之前。else

所以,最后应该是window.location='http://www.google.com';

于 2012-10-08T17:10:19.417 回答
0

您的语法有错误。你不应该"onclick="". 所以将其替换为:

<input class="orangebutton" type="submit" value="Continue"
       onclick="if (document.getElementById('password').value == 'hi') window.location='http://www.google.com' else alert('Wrong Password!');" />
于 2012-10-08T17:03:06.730 回答