JavaScript window.location.href 的问题 [重复]

Posted

技术标签:

【中文标题】JavaScript window.location.href 的问题 [重复]【英文标题】:Issues with JavaScript window.location.href [duplicate] 【发布时间】: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: ;) 这个问题是重复的,所以不需要发布答案。 【参考方案1】:

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

好吧,那么小笨蛋……

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

谢谢

【讨论】:

以上是关于JavaScript window.location.href 的问题 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 检查链接变量

Arison [JS]window.location获取url各项参数详解

window.location.href=window.location.href 和 window.location.reload() 的区别

页面重定向的几种方法

JS之BOM的几个对象

js获取当前页面信息