历史版本15 :JS实现动态改变超链URL中的参数值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

当表中某字段保存的是网页地址,如何实现点击单元格弹出一个对话框显示该网页,效果如下图所示:

222

超级链接的 URL 格式固定,但有时候 URL 后缀参数值不同,打开的网页也不同,如何通过点击单元格替换对应的 URL 值打开不同的页面呢,效果如下图所示:

222

2. 示例一:对话框打开网页编辑

1)准备内置数据集 Embedded1,如下图所示:

222

2)将数据集字段拖入单元格中。

222

3)选中 A1、B1 单元格,右键选择超级链接,添加 JavaScript,在参数栏添加两个参数 title、url,参数值分别为公式 A1、B1,并添加下面的 JavaScript 代码:

1630045677174843.png

JavaScript 代码如下:

var iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='yes' frameborder='0'>"); // 对话框内 iframe 参数的命名,默认宽高占比是 100%,可向下滚动  
iframe.attr("src", url); // 给 iframe 添加 src 属性
var o = {  
width : 960,  //对话框宽度
height: 550  //对话框高度
};  
FR.showDialog(title, o.width, o.height, iframe,o);//弹出对话框

4)保存模板,点击分页预览,对话框打开超链效果如 1.概述 所示。

5)另提供一种更简洁的方法:直接在 B1 单元格设置超级连接,添加参数 a,传递当前 URL 使用 window.open 以新页面方式打开 URL 。

222

3. 示例二:获取URL后缀打开不同网页编辑

另一种情况,超链的 URL 格式统一,但后缀某个参数值不同。通过在 URL 后面直接传参,不好实现。

如下图,URL 格式一样,但主页ID值不同。

222

1)准备内置数据集,如下图所示:

222

2)选中 A2,添加一个 JavaScript 脚本类型的超级链接,在参数栏添加参数p_name,参数值为公式B2,并添加下面的 JavaScript 代码:

1630046804372360.png

JavaScript 代码如下:

window.open('http://bbs.fanruan.com/home.php?mod=space&uid='+p_name+'&do=profile','_blank');

3)保存模板,点击分页预览,超链效果如 1.概述 中所示。

注:URL 格式-http://www.baidu.com,不要少了http://

4. 模板下载编辑

4.1 示例一

已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\

点击下载模板:JS实现对话框打开超链示例一.cpt

4.2 示例二

已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\

点击下载模板:JS实现对话框打开超链示例二.cpt