1、新建超链接

随意点击一个单元格右击,选择 超级链接

2、在弹出的窗口中选择JavaScript脚本 如图:

其中红框框出的是几个要点   ,左边的就不讲了,右上角的参数cc是设置了公式remoteServletURL  能自动获取报表路径 如图:

右下角的js代码是设置一个iframe弹窗,代码如下:

1 var url =FR.cjkEncode("?formlet=indicatorDetailedTypeFirst.frm&companycode=0102010101&intermediarycode=0201072911&name=赵振强");
2 var iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='yes' frameborder='0'>"); // 对话框内 iframe 参数的命名,默认宽高占比是 100%,可向下滚动
3 iframe.attr("src", cc+url);
4 //iframe.attr("src", cc+"?formlet=indicatorDetailedTypeFirst.frm&name=赵振强"); // 给 iframe 添加 src 属性
5 var o = {
6 width : 700, //对话框宽度
7 height: 500 //对话框高度
8 };
9 FR.showDialog("添加", o.width, o.height, iframe,o);//弹出对话框

其中需要注意的是如果参数中有 中文需要将url包裹在编码FR.cjkEncode()里,否则传参中的中文将会是乱码:如图

需要注意的是:如果放到工程js中会报FR没定义,我找了半天没找到怎么引入帆软的js,网上百度看到有人贴出了cjkEncode的源码,直接加到js方法中调用即可

$.GPageModule([""],function(){
var modelType = "indicatorDetailedTypeFirst.frm";
var companycode = $("#companycode").val();
var intermediarycode =$("#intermediarycode").val();
var name =$("#name").val();
var reportURL = cjkEncodeNew(GlobalParam.context+"/ReportServer?formlet=erm/sj/"+modelType+"&companycode="+companycode+"&intermediarycode="+intermediarycode+"&name="+name);
$("#viewIndicatorDetailedType").attr("src",reportURL);
}); function cjkEncodeNew(text) {
if (text == null) {
return "";
}
var newText = "";
for (var i = 0; i < text.length; i++) {
var code = text.charCodeAt (i);
if (code >= 128 || code == 91 || code == 93) {//91 is "[", 93 is "]".
newText += "[" + code.toString(16) + "]";
} else {
newText += text.charAt(i);
}
}
return newText;
}

原创总结。

帆软用工具测试超链接打开弹窗(iframe嵌套),解决js传参带中文传递有乱码问题的更多相关文章

  1. 学以致用:手把手教你撸一个工具库并打包发布,顺便解决JS浮点数计算精度问题

    本文讲解的是怎么实现一个工具库并打包发布到npm给大家使用.本文实现的工具是一个分数计算器,大家考虑如下情况: \[ \sqrt{(((\frac{1}{3}+3.5)*\frac{2}{9}-\fr ...

  2. window.open打开新窗体并用post方式传参

    function openPostWindow(url,data,name){ //url要跳转到的页面,data要传递的数据,name显示方式(可能任意命名) var tempForm = docu ...

  3. js中点回车enter触发事件&layui弹窗按enter键不停弹窗问题的解决&js实现鼠标焦点自动落到文本框(layui)

     js中回车触发事件 一. document.onkeydown = function (e) { // 回车提交表单 // 兼容FF和IE和Opera var theEvent = window.e ...

  4. vue打开新窗口并且实现传参,有图有真相

    我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页. 通过 ...

  5. Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度

    我们需要先准备好2个apache的类: 上一个博客文章只讲了最简单的入门,现在来开始慢慢加深. 先过渡一下:只上传一个file项 index.jsp: <h2>用apache的工具处理文件 ...

  6. 帆软报表FineReport中数据连接之Jboss配置JNDI连接

    使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...

  7. 帆软报表FineReport中数据连接之Websphere配置JNDI连接

    以oracle9i数据源制作的模板jndi.cpt为例来说明如何在FineReport中的Websphere配置JNDI连接.由于常用服务器的JNDI驱动过大,帆软报表FineReport中没有自带, ...

  8. 帆软报表FineReport SQLServer数据库连接失败常见解决方案

    1. 问题描述 帆软报表FineReport客户端连接SQLServer(2000.2005等),常常会出现如下错误:com.microsoft.sqlserver.jdbc.SQLServerExc ...

  9. 帆软报表FineReport中数据连接之Weblogic配置JNDI连接

    1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...

随机推荐

  1. python中的 异常处理(try...expect)

    错误处理 关注公众号"轻松学编程"了解更多. 在程序运行的过程中,如果发生了错误,可以事先约定一个错误代码,这样就可以知道是否有错,以及出错的原因,在操作系统的调用中,返回错误码的 ...

  2. 如何做可靠的分布式锁,Redlock真的可行么

    本文是对 Martin Kleppmann 的文章 How to do distributed locking 部分内容的翻译和总结,上次写 Redlock 的原因就是看到了 Martin 的这篇文章 ...

  3. 【Kata Daily 190929】Password Hashes(密码哈希)

    题目: When you sign up for an account somewhere, some websites do not actually store your password in ...

  4. Android Studio导入github项目源码步骤

    1.从github上将源码下载下来 2.打开AS,新建一个新项目(我选择了EmptyActivity) 3.先不要在AS 中打开源码,来整理源码 在源码的目录下面,将project下的build.gr ...

  5. node转发请求 .csv格式文件下载 中文乱码问题 + 文件上传笔记

    用户无法直接访问后台接口 需要node端转发请求 并将数据以.csv文件格式生成以供客户端下载. 很不幸出现了中文乱码的问题 挖了各种坟帖,下了各种依赖包,csv.json2csv.bufferHel ...

  6. php之4个坐标点判断是否为矩形和正方形

    代码 <?php $a=[0,0]; $b=[0,1]; $c=[1,1]; $d=[1,0]; $ar=array($a,$b,$c,$d); $a1=[]; // 0 1 2 3 forea ...

  7. ESP8266交叉编译环境变量设置

    在build目录下执行sudo cp -r xtensa-lx106-elf /opt 修改xtensa-lx106-elf目录权限:这一步非常重要,否则在后续编译中很容易出现没有权限问题:sudo ...

  8. php curl 请求封装

    /** * curl 封装函数 * @param string $url 请求地址 * @param string $data 请求数据 * @param string $type 请求方式 默认为G ...

  9. Spider--补充_None_global_urlparse

    # 知识点补充: # 1) None: a = None if a: print("非None") else: print("None") if a is no ...

  10. Linux7(centOS7)安装jdk/tomcat/docker/mysql

    jdk的rpm安装.tomcat的解压缩安装.docker的yum安装.mysql的docker安装 下载地址 1.1.jdk下载地址 https://www.oracle.com/java/tech ...