让人郁闷的window.open[已解决]

toolbar

 

在使用Ext.grid.GridPanel时,为了方便导出表格中数据。使用了window.open在新窗口中打开PDF,XLS格式的结果,在firefox2.0.15,3.0.1下正常,在IE6,IE7下返回一个空白页面,从服务器控制台可以看到服务器端是执行了报表导出动作,换成链接方式<a href="export.action?xxx=xxx"> 则可以正确显示结果。

window.open(url) 与 <a href="url" >有这么大区别?export.action是将grid中数据已报表形式显示出来,并可选择导出文件类型。

 

代码如下

 

      var grid = new Ext.grid.GridPanel({
          border:false,
          viewConfig: {
            forceFit:true
          },
          store: store,
          cm: cm,
          sm:gridsm,
          loadMask: true,
          bbar: new Ext.PagingToolbar({
              pageSize: 20,
              store: store,
              displayInfo: true,
              items:['-',{
                  text:'查询范围',
                  menu:contactGridFilterMenu
                },
                filterField,
                filterButton,
                clearButton,
                '-',
                {
                  iconCls:'icon-pdf',
                  tooltip:'将表格导出为PDF文件',
                  handler:function(){
                    var s='';
                    if(store.lastOptions){
                      s+=Ext.urlEncode(store.lastOptions);
                    }
                    if(store.baseParams){
                      if(s===''){
                        s+=Ext.urlEncode(store.baseParams);
                      }else{
                        s+='&';
                        s+=Ext.urlEncode(store.baseParams);
                      }
                    }
                    if(''!==s){
                      s = '?'+s;
                    }
                    window.open("export.action"+s,"_blank");
                  }
                },{
                  iconCls:'icon-xls',
                  tooltip:'将表格导出为XLS文件',
                  handler:function(){
                    var s='';
                    if(store.lastOptions){
                      s+=Ext.urlEncode(store.lastOptions);
                    }
                    if(store.baseParams){
                      if(s===''){
                        s+=Ext.urlEncode(store.baseParams);
                      }else{
                        s+='&';
                        s+=Ext.urlEncode(store.baseParams);
                      }
                    }
                    if(''===s){
                      s = '?type=xls';
                    }else{
                      s = '?' + s +'&type=xls';
                    }
                    window.open("export.action"+s);
                  }
                }
              ]
          })
      });

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值