javascript - 如何在表单提交时重定向页面

标签 javascript forms redirect

我有一个表格要提交。完成后将页面重定向到另一个页面。但是目前它对我不起作用。

<form name="myname" method="post" action="actionurl" onsubmit="gotonext()">

function gotonext(){
            var portalpath = window.location.pathname;                              
            var myredirect =  portalpath +"?uP_fname=msu/survey&amp;command=display&amp;sid=162";
            alert(myredirect);
            window.location.href = myredirect;
        } 

所以警报显示了我正在寻找的正确网址。并且表单将数据提交到正确的 actionurl。不起作用的是重定向。

关于我可能哪里出错的任何想法?

最佳答案

嗯,这有点复杂。问题是当提交表单时,客户端基本上已经开始通过表单的 action 属性中指定的 URL 处理新请求。

一种常用的解决方法是使用 AJAX 提交表单,然后在该 AJAX 请求的回调中触发重定向。这更容易,但有明显的局限性:AJAX 请求不会跨域。

另一种方法(可能对您的情况有用)如下:

  • 在带有表单的页面上创建一个隐藏的 iframe。
  • 将表单的 target 属性设置为该 iframe 的名称
  • 在此 iframe 上设置 onload 事件处理程序,并在此处理程序中触发重定向。

这是 proof of concept .

关于javascript - 如何在表单提交时重定向页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694228/

相关文章:

c# - 两个验证组

javascript - 缩短地址栏中的 url

javascript - 使用 GSAP 制作的动画循环

javascript - 当我尝试使用 Children 属性和 offsetWidth 时,为什么我在控制台中收到无法读取属性消息?

javascript - $区域设置服务: get decimal separator (and other locale information)

regex - Apache .htaccess重写规则以删除.php文件扩展名

node.js - Nodejs - 重定向网址

javascript - 在indexedDB中使用JavaScript保存大文件(> 25 GB)

javascript - 使用纯 JS 从外部提交 Lotus Notes XPage 表单

javascript - 如何从 html 表单创建 paypal 按钮?