【问题标题】:Issues with JavaScript window.location.href [duplicate]JavaScript window.location.href 的问题 [重复]
【发布时间】:2021-08-25 03:23:12
【问题描述】:

所以我一直在研究这个小拼图网站,我希望将文本字段的正确密码放在 JS 函数中。现在它确实可以识别密码,这很好,但问题是当我尝试使用window.location.href = "https://www.google.com"; 时,它不会将页面重定向到新站点。它只会“刷新”网站。

我的脚本如下:

<script>
    function validate() {
        var password = document.forms["passwordform"]["password1"].value;
        var realpassword = 'salaisuus'
        if (password === realpassword) {
            window.location.href = "http://www.google.com";
            return true;
        } else {
            alert("Wrong password")
            return false;
        }
    }
</script>

实际的形式在这里:

<form id="passwordform" onSubmit="return validate()">
    <div class="form-floating mb-3">
        <input type="text" class="form-control" id="floatingInput" name="password1" placeholder="whatwhat">
        <label for="floatingInput">PASSWORD</label>
    </div>
    <button type="submit" class="btn btn-dark">TRY IT</button>
</form>

如前所述,它确实会发送密码错误警报,但window.location.href 不起作用。我在这里错过了什么?

【问题讨论】:

  • here 是您问题的答案。它在window.location.href 之后告诉return false。
  • 设置位置后立即返回 true,即提交表单。这会重新加载页面,因为表单没有 action 属性。您还需要https: 最好在您的JS代码中分配一个事件侦听器并防止提交事件,如here 所述
  • 谢谢大家,我刚刚想通了.. 我现在觉得很傻:D
  • 请回复@Chris G https: ;)
  • 这个问题是重复的,所以不需要发布答案。

标签: javascript html forms


【解决方案1】:

www.stackoverflow.com/q/15759020/14834893 这是您问题的答案。 – M.Hassan Nasir

好吧,那么小笨蛋……

我需要做的就是在window.location.href 之后添加return false;

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2019-05-11
    • 2013-09-17
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多