全,
我有一个包含表单的HTML页面。
当用户完成表单并单击"Submit“时,表单将用户的输入发布到PHP页面。
该PHP页面处理输入并将用户的结果作为附件返回。
到目前为止-一切正常-用户点击“提交”,浏览器的进度条开始“旋转”,几秒钟后,附件被下载。
但是,在浏览器中,用户仍然在表单页面上。对我来说没问题。
所以-这是我的问题。理想情况下,当用户单击"Submit“-我想更新表单页面,以表明”过程“正在进行中。例如,
然后,当下载完成-我想捕获该事件,以便我可以重新启用提交按钮,并删除下载消息。
这个是可能的吗?
还是-我最初的安排是错的?有更好的方法吗?(也就是说-有一个调用PHP页面的表单,让PHP页面返回一个附件,然后将控件返回到调用页?)
提前感谢您的建议和见解!
发布于 2012-09-10 13:55:19
使用javascript打开新窗口中的下载。因此,不要在POST请求中返回下载,只需让页面重新加载并在页面上放置一些javascript,这将打开一个新窗口,该窗口将调用将下载文件的PHP脚本。
发布于 2012-09-10 13:53:57
我不确定通过http下载/流文件是否会发生任何事件(考虑它完全发生在服务器端),但是,如果我是您,我会将表单重定向到下载页面,然后在web服务器开始将文件流到客户端浏览器后,我将再次重定向到表单页。
您可以通过PHP和Javascript实现这一点。:)
发布于 2012-09-10 13:55:44
为了获得这种功能(禁用submit按钮,显示旋转或进度条),您将需要使用一些JavaScript。我推荐JQuery Ajax表单插件:http://www.malsup.com/jquery/form/。
使用JS和AJAX的棘手之处在于,很难让用户将文件作为附件下载。
要使用纯HTML和PHP,我建议重定向到提交的另一个页面,显示一些消息(.“处理”.)然后重定向回表单页,页面将在其中加载,提示下载,然后再次显示表单。
https://stackoverflow.com/questions/12353051
复制相似问题