历史版本9 :JS实现点击按钮复制文本内容功能 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

在平时的报表开发中,我们通常会遇到点击按钮可以实现直接复制文本框里面的这个功能,如何在 FineReport 中实现该功能呢?如下图所示:

1568859448687467.gif

1.2 实现思路

可通过 JS 实现该功能。

2. 示例编辑

2.1 准备模板

1新建模板,点击 A1 单元格,选择单元格元素,插入普通文本,输入 HTML 代码如下,如下图所示:

111.png

HTML 代码如下:

<textarea rows="20" cols="20" id="biao1">用户复制区域</textarea> <!--定义一个文本域,可以通过rows和cols这2个属性来控制文本域的大小-->
<input type="button" onclick="copytext()" value="复制"> <!--定义一个按钮,被点击时触发copytext()函数,value属性可以定义按钮的显示值,即按钮上显示的文字是copy-->

2)点击单元格属性>其他,选择用HTML显示内容,如下图所示:

12.png

2.2 引入 JS 文件

1)将 copy.js 文件放置在 %FR_HOME%\webroot\scripts\js  路径下。

点击可下载:copy.js

代码如下:

function copytext(){
var copytext2=document.getElementById("biao1");//获取文本框
copytext2.select();//选择文本框内容
document.execCommand("copy");//执行浏览器复制命令
alert("已经复制好了");//输出已经复制好了文本
}

2)引用 JavaScript。点击模板>模板 Web 属性>引用 JavaScript,选择上一步新建的磁盘文件,点击增加,如下图所示:

3.png

2.3 效果预览

保存模板,点击「分页预览」,效果如下图所示:

1568859484442587.gif

注:不支持移动端

3. 模板下载编辑

已完成模板请参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\JS实现点击按钮复制文本.cpt

点击下载模板:JS实现点击按钮复制文本.cpt

点击下载 JS 文件:copy.js