历史版本2 :JS实现防止重复点击提交 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

在日常业务中填报会涉及到大批量数据填报,会导致一次的填报时间过长,而一般业务人员又不清楚填报的机制,有时一直按提交按钮,导致多填数据或者重复提交浪费时间等。

1.2 解决思路

在自定义按钮中添加一个 点击事件,利用 FineReport 提供的 JS 接口方法来实现当点击按钮时执行提交操作。接口说明可参考:工具栏接口

注:示例只提供业务场景解决方案,用户可根据具体实际场景参考使用。

2. 示例编辑

2.1 准备模板

打开模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt

在 B1 单元格中添加一个按钮控件,设置按钮类型为「普通」,按钮名字为「提交」。如下图所示:

2.2 设置点击事件

选中提交按钮所在 B1 单元格,添加一个点击事件,如下图所示:

 JavaScript 代码如下:

_g().verifyAndWriteReport();
this.setEnable(false);
//校验并提交

该代码实现的效果和点击工具栏的提交按钮一致,如果需要其他提交效果,可以参考工具栏接口修改。

2.3 效果预览

保存报表,点击「填报预览」,随便修改一个数据,点击提交按钮,提示「成功」后,预览数据库查询,即可看到此数据填报成功。如下图所示:

3DD68A99-76C7-4DDD-ACCA-B065E9A3252C.GIF

3. 模板下载编辑