jQuery重定向到另一个文件

时间:2016-11-21 12:59:05

标签: javascript jquery html cordova

我尝试在成功登录后直接转到另一个文件。但是,在登录成功警报后,我似乎无法进入b.html。它似乎仍然保留在同一页面中。我尝试了...document.location.href,但似乎没有效果

window.location.replace

2 个答案:

答案 0 :(得分:4)

您的重定向无法正常工作的原因是单击Login按钮会提交表单。这是Web浏览器的正常行为。在您的情况下,您需要这样做以防止此默认行为。

使用jQuery,你可以这样做:

$('form.login-form').submit((e) => {
    e.preventDefault();
});

由于您根本不在代码中使用jQuery,因此您可能对此类版本感兴趣:

form.addEventListener('submit', e => {
    e.preventDefault();
});

另一种解决方案是不将type="submit"属性添加到登录按钮。

但是,您可以做的最好的事情(以及互联网用户习惯使用的)是在提交表单后重定向用户。然后,这不仅适用于用户单击按钮,而且还可以按下ENTER等等。

然后你的代码应该是这样的:

(() => {
    let form;

    function init() {
        form = document.querySelector('login-form');

        if (!form) {
            throw new ElementNotFoundException();
        }

        form.addEventListener('submit', onSubmitHandler);
    }

    function onSubmitHandler(e) {
        e.preventDefault();

        // get values, validate...

        window.location.href = 'b.html';
    }

    init();
});

答案 1 :(得分:1)

也许位置href未正确写入,请将window.location.href = "/b.html";替换为window.location.href = "b.html";