民间,
我有一个网页,要求用户输入开始日期和结束日期。我们称之为“日期选择”页面。用户单击“提交”,将日期发送到服务器,然后服务器创建然后下载电子表格。这很好用。除了这是一个下载,因此网页保留在“日期选择”页面上。有没有办法让页面在单击提交后转发到其他页面?
我希望这能正确地解释这种情况。我无法在网上找到任何描述此内容的内容。
谢谢!
答案 0 :(得分:0)
尝试将表单重定向到新标签,然后使用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可能会引起一些更复杂的解决方案:Detect when browser receives file download