关于ShowModalDialog中的Excel导出窗口不能自动弹出的问题

本文介绍了解决ShowModalDialog导出功能失效的方法。通过调整页面设置,并使用iframe技术,实现了点击导出按钮后的正常操作,同时保持了页面头部点击刷新的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://hbxflihua.iteye.com/blog/1663780

给一个ShowModalDialog添加导出的功能。测试的时候,导出按钮点了N多次,仍不见半点反应,调试发现后台代码有执行,没出出现任何问题。说明是页面哪个地方的设置引起的。突然想起为了让页面在列表头部分点击的时候有自动刷新但不弹出新页面的功能,特意在页面头部分添加了如下代码:<base target="_self">。

首先,我把这行代码删除,发现刷新和导出都是可以的。但都会弹出一个页面。那就可以肯定是这里的问题了。而添加了这行代码后,导出会受到影响。

根据以往的经验,在ShowModalDialog添加一个iframe可以解决这个问题。我就尝试着做了起来。

1、将如下代码放在头部分:

Jsp代码  收藏代码
  1. <base id="base_tag" target="_self" />  

 

 

 

2、在body的末尾添加如下代码:

Jsp代码  收藏代码
  1. <iframe id="baseExportThis" name="baseExportThis" height="0px" width="0px"></iframe>  

 

3、在导出按钮中作如下处理:

Jsp代码  收藏代码
  1. $('#base_tag').attr('target','baseExportThis');  
  2. var temp = document.getElementById("form").action;  
  3.    document.getElementById("form").action = "${root}/sci/exportMidscip.action";  
  4.     document.getElementById("form").submit();  
  5.     document.getElementById("form").action = temp;  
  6. $('#base_tag').attr('target','_self');  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值