【问题标题】:Can't redirect to a new page using js无法使用js重定向到新页面
【发布时间】:2019-05-10 05:39:39
【问题描述】:

我正在使用this code 将联系表单提交发送到谷歌电子表格。在第 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;
    };

这是working link,有人可以告诉我我做错了什么吗?

提前谢谢你!

【问题讨论】:

  • 所以...我看了看,您出现了一个错误:Uncaught TypeError: Cannot read property 'addEventListener' of null at HTMLDocument.loaded (form-submission-handler.js:100)。这可能与它有关。
  • <form class="gform" 更改为<form id="gform"
  • 这个问题是由无法再复制的问题或简单的印刷错误引起的。虽然类似的问题可能是这里的主题,但这个问题的解决方式不太可能帮助未来的读者。
  • 确实,根据 mplungjan 的评论,我的错误是使用类而不是 id。谢谢!

标签: jquery redirect


【解决方案1】:

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

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

现在使用javascript代码在新标签中打开thankYouLinkUrl:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2016-02-28
    • 1970-01-01
    相关资源
    最近更新 更多