首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单提交后JavaScript函数未运行

表单提交后JavaScript函数未运行
EN

Stack Overflow用户
提问于 2020-05-29 22:51:06
回答 1查看 117关注 0票数 0

我尝试将表单数据提交到新选项卡中的“https://wallpapersforandroid.com/wallpaper-4/”,并在提交后将父页面重定向到"https://www.youtube.com“。我成功地在新选项卡中打开了操作页面,但父页面没有重定向我使用的代码:

代码语言:javascript
复制
<form action="https://wallpapersforandroid.com/wallpaper-4/" method="post" target="_blank">
Type Password From Below Image: <input name="pass" type="text" />
<input id="myForm" type="submit" /><br />
<script>
  document.getElementById("myForm").onsubmit = function() {
    window.location.href = "https://www.youtube.com";    
  };
</script>
EN

回答 1

Stack Overflow用户

发布于 2020-05-29 22:57:52

如果提交表单,当前页面将被拆卸并替换为提交表单的结果。如果设置了新位置,则当前页面将被拆卸并替换为该位置的页面。你不能同时做这两件事;他们中的一个赢了,另一个会输。

您可以通过ajax提交表单,然后执行重定向:

代码语言:javascript
复制
document.getElemntById("myForm").addEventListener("submit", function(e) {
    // Prevent the default form submission
    e.preventDefault();

    // Get the form data
    const data = new FormData(this);

    // Do the ajax
    fetch(this.action, {
        method: this.method,
        body: data
    })
    .then(response => {
        if (!response.ok) {
            throw new Error("HTTP error " + response.status);
        }
        window.location.href = "https://www.youtube.com";
    })
    .catch(error => {
        // ...handle/report error...
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62088712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档