首页 > 解决方案 > 无法使用js重定向到新页面

问题描述

我正在使用此代码将联系表单提交发送到谷歌电子表格。在第 89-99 行之间,我添加了以下内容以重定向到感谢页面,而不是显示感谢 div:

if (!validEmail(data.email)) {   // if email is not valid show error
    document.getElementById('email-invalid').style.display = 'block';
    return false;
} else {
    var url = event.target.action;  //
    var xhr = new XMLHttpRequest();
    xhr.open('POST', url);
    // xhr.withCredentials = true;
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xhr.onreadystatechange = function() {
        console.log( xhr.status, xhr.statusText )
        console.log(xhr.responseText);
        //document.getElementById('gform').style.display = 'none'; // hide form
        // document.getElementById('thankyou_message').style.display = 'block'; 
        window.location.href = "mensaje-enviado.html";
        return;
    };

这是一个工作链接,有人可以告诉我我做错了什么吗?

先感谢您!

标签: jqueryredirect

解决方案


您可以在 HTML 中创建一个目标设置为“_blank”的锚标记元素,但不显示

<a id="thankYouLinkId" href="thankYouLinkUrl" target="_blank" style="display: none;">Test Link</a>

现在使用 javascript 代码在新选项卡中打开thankYouLinkUrl:

document.getElementById("thankYouLinkId").click();

推荐阅读