我有一份表格,我想提交。完成后将页面重定向到另一个页面。但是目前它对我不起作用。
<form name="myname" method="post" action="actionurl" onsubmit="gotonext()">
function gotonext(){
var portalpath = window.location.pathname;
var myredirect = portalpath +"?uP_fname=msu/survey&command=display&sid=162";
alert(myredirect);
window.location.href = myredirect;
}
因此警报显示我正在寻找的正确网址。表单将数据提交给正确的actionurl。什么是无效的是重定向。
关于我可能出错的地方的任何想法?
答案 0 :(得分:2)
嗯,这有点复杂。问题是提交表单时,客户端基本上已经开始按表单的action
属性中指定的URL处理新请求。
一种常用的解决方法是使用AJAX提交表单,然后在该AJAX请求的回调中触发重定向。这更容易,但有明显的局限性:AJAX请求不会跨域。
另一种方法(在您的情况下可能有用)如下:
target
属性设置为该iframe的名称onload
事件处理程序,并在此处理程序中触发重定向。