Javascript 如何重定向表单提交页面

Javascript 如何重定向表单提交页面,javascript,forms,redirect,Javascript,Forms,Redirect,我想提交一份表格。完成后,将页面重定向到另一个页面。但是目前它对我不起作用 <form name="myname" method="post" action="actionurl" onsubmit="gotonext()"> function gotonext(){ var portalpath = window.location.pathname; var myredir

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

<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;
        } 

函数gotonext(){
var portalpath=window.location.pathname;
var myredirect=portalpath+“?uP_fname=msu/survey&;command=display&;sid=162”;
警报(myredirect);
window.location.href=myredirect;
} 
因此,警报将显示我要查找的正确url。表单将数据提交到正确的actionurl。不起作用的是重定向


你知道我哪里会出错吗?

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

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

另一种方法(在您的案例中可能有用)如下:

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

以下是。

当前页面加载actionurl(这是另一个页面)
?actionurl是门户中的基本url。它只是返回到门户页面,而不是重定向。我试图简化这个问题。抱歉,如果混淆了,将对其进行编辑。@Sébastien@user1689274您是否尝试过在actionurl页面中使用重定向标题?window.location=myredirect;也不起作用。昨晚我想到了一个类似的想法,我要么这样做,要么将链接添加到页面上所需的位置作为隐藏元素,然后用jquery触发单击,或者使用ajax…谢谢你的回答。也谢谢@RokoC.Buljan的帮助