伙计们,
我有一个网页,要求用户输入开始日期和结束日期。我们称之为"日期选择"页面。用户单击提交,将日期发送到服务器,服务器创建然后下载电子表格。这工作正常。除了由于这是下载,网页停留在"日期选择"页面上。有没有办法在单击提交后让页面转发到其他页面?
我希望这能正确解释情况。我无法在网上找到任何描述这一点的内容。
谢谢!
表单重定向到新选项卡,然后使用 javascript 重定向
主要问题是表单提交(但不一定是文件下载本身(必须在重定向之前完成,否则它会丢失。最简单的方法是使用超时:
<form target='_blank' id=myform method=post action="/generatexls">
...
</form>
<script>
//uses jQuery
$('#myform').submit(function(){
setTimeout(function(){
location.href='/newpage.htm'
},100)
})
</script>
我刚刚在我的系统上检查了这一点:IE11 和 Chrome 36 一旦意识到新选项卡中没有任何内容,就会立即关闭它。某些浏览器可能会明显地继续显示空白选项卡或窗口。另一种选择是将表单定位到同一页面上的 iframe,但这需要更长的超时才能安全
这里有一个更复杂的使用 cookie 的解决方案,可能会感兴趣:检测浏览器何时收到文件下载