作者Peruheru (还在想)
看板Ajax
标题[问题] 指向iframe的form,submit後执行指令
时间Thu Oct 30 17:06:23 2014
大家好
如果form的target指向一个隐藏的iframe
目的是要下载自动产生的pdf档案
但是因为档案产生需要时间
所以希望在下载前显示读取中的字样
我本来查stackoverflow,说绑ajax:complete事件可以运作
http://tinyurl.com/kvgzvqc
然後写成这样:
$(document).ready(function(){
$("
#pdfprint").bind('ajax:complete', function() {
$('#loaging').hide();
});
$('
#pdfprint').submit();
});
可是submit完成後也不会去呼叫hide()
导致档案下载出现後,"读取中"也不会消失
是我得写法不对,还是我该换条路走?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.18.8
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1414659990.A.5E0.html
参考了
http://blog.moa.cse.tw/2014/03/html5ajax.html
这个网页上说明的做法
改成目标指向iframe
总算出现我要的结果了.....
※ 编辑: Peruheru (220.134.18.8), 10/30/2014 18:54:22
1F:→ mrbigmouth: form又不是ajax... 10/30 21:04
2F:推 mrbigmouth: 用blob有浏览器相容的问题要注意 印象中还满新的 10/30 21:07
我知道不是,可是看到有人说可以我还是要试orz
blob的问题...明天再说XD
※ 编辑: Peruheru (1.164.209.196), 10/30/2014 21:21:34
blob结果不行,因为旧浏览器使用者会抱怨
结果我认为光靠前端无法判断
只好另外写一段後端程式
在档案产生完时存一个session,然後由那一段来提供完成讯号给前端判断
前端就用settimeout来持续检查
好像有可跨浏览器的一个blob.js
可惜没时间弄了
※ 编辑: Peruheru (220.134.18.8), 10/31/2014 15:17:28