如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
有A、B、C三个jsp页面(也可以是A、B、C三个html页面)1、在A.jsp里,有个“导入”按钮:2、当点击“导入”按钮时,弹出B.jsp页面(是个模态对话框):3、选择好excel文件后,点击B.jso页面的“导入”按钮后,执行C.jsp。C.jsp是执行导入功能,将数据导入数据库中,但是,导入完毕后,我们需要系统自动关闭C.jsp,然后自动关闭B.jsp,最后刷新A.jsp。也就是说,A调用了B,B调用了C,最后自动关闭C,然后自动关闭B,然后自动刷新A的页面,该怎么办呢?第一步:在C,jsp中,在body里添加onUnload属性,onUnload属性的作用是:当C.jsp页面关闭(我们手动关闭)时,自动执行myClose函数;window.opener.close()的作用是关闭B.jsp,也就是说,哪个页面调用了C.jsp,当C.jsp被关闭时,哪个页面就跟着关闭(换句话,关闭子页面时,父页面也跟着自动关闭)。C,jsp的部分代码:<%@pagecontentType="text/html;charset=GBK"%><html><head></head><bodyonUnload="myClose()"></body></html><scriptlanguage=javascript>functionmyClose(){//关闭本窗口时调用此方法window.opener.close();//关闭时父窗口也跟着关闭}</script>第二步:B页面自动关闭后,需要刷新A.jsp的数据,这时候在B.jsp的body里添加onUnload属性,还要加上<basetarget="_seft"/>,当B关闭时,就会自动执行myClose方法了,我们只要在myClose函数里写好刷新A页面的方法就可以了。下面是B.jsp的部分代码:<%@pagecontentType="text/html;charset=GBK"%><html><head><basetarget="_seft"/></head><bodyonUnload="myClose()"><formname='excelform'ACTION=""ENCTYPE="multipart/form-data"METHOD="post"><table><tr><td>选择小区配置数据:<inputtype="file"name="finame"size="20"class="btn"<buttonname="btninport"type="button"class="btn"onclick="inport()">导入</button></td></tr></table></form></body></html><scriptlanguage=javascript>functionmyClose(){//关闭本窗口时调用此方法window.dialogArguments.btnQueryHandler();//关闭时父窗口也跟着关闭}</script>window.dialogArguments.btnQueryHandler()是什么意思呢?btnQueryHandler是我们在A页面写好的查询按钮事件,window.dialogArguments.btnQueryHandler()就是B页面调用A页面的btnQueryHandler函数(也就是调用父页面的函数达到刷新父页面的效果)。也有可能运行不成功,因为这个例子中,B是模态对话框,这里用了window.dialogArguments