历史版本6 :JS实现回调函数中自定义提示 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

在进行报表填报时,很多时候都会希望在填报成功或失败后执行一些动作,上一节中介绍了使用FineReport内置提交方式(包括内置提交按钮和提交事件js)填报成功失败之后的返回值,那么在自定义按钮中的提交入库事件中,该如何获取到填报成功失败的返回值以便做下一步操作呢?下面将详细介绍。

2. 解决思路编辑

控件的事件类型有三种:1、JavaScript脚本;2、提交入库;3、发送邮件。在使用提交入库类型事件的时候,可设置回调函数,来进行填报成功失败之后的下一步操作,即回调函数中可提供返回参数来判断填报是否成功,返回参数为fr_submitinfo,该参数包含提交成功与否的信息,通过fr_submitinfo.success的返回值true或者false来判断,返回true表示填报成功,反之,表示填报失败。
注:fr_submitinfo接口参数适用于两个地方,一个是上述的“回调事件”中,另一个是“填报后事件”,即在填报后事件中也可以通过fr_submitinfo来判断填报是否成功。填报后事件在模板>模板web属性>填报页面设置处添加。

3. 示例编辑

3.1 新建模板
新建一张空白模板,添加几个文本控件,往数据表产品中填入数据,报表主体设置如下图:
3.2 按钮控件设置
为按钮控件添加点击事件,事件类型为提交入库,接着再为按钮绑定数据库,如下图:
3.3 回调函数处理
点击对话框下面的设置回调函数按钮,即可根据填报成功与否来决定下一步操作,如果填报成功则提示填报成功,如果填报失败则提示填报失败,如下图:
完整的js如下:
if (fr_submitinfo.success) {       FR.Msg.toast('提交成功');   } else {       FR.Msg.toast('提交失败');   }  
3.4 效果查看
点击填报预览,在web端填入数据,点击提交按钮,如下图:
例如表里产品ID为int型,提交的时候填写为文字,则提交失败,结果如下图: