历史版本11 :JS自定义按钮提交当前行 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 需求描述编辑
在设置报表填报功能时,发现系统默认的提交按钮,点击后会将整个页面的数据进行提交入库操作。能否实现指定的内容行提交呢?
如图:
2. 解决思路编辑
可通过添加自定义按钮,提交入库事件功能来实现。
注:自定义按钮实现提交入库事件,在 cpt 中不会触发及时校验,只能通过单独的 JS 来进行校验;而 frm 可以触发及时校验。
3. 解决步骤编辑
1)报表设计如下,在 G3 单元格添加一个普通按钮,按钮名称为提交:
2)选中按钮控件,添加点击事件-提交入库,如下:
3)设置提交入库的回调函数,如下:
具体 JS 代码如下:
if (fr_submitinfo.success) {
FR.Msg.toast('当前行提交成功');
setTimeout("location.reload();", 3000 )
} else {
FR.Msg.toast('当前行提交失败');
}
注:success 只表示后台程序执行没有异常,不表示数据提交成功。
4)设置完成后保存,以【填报预览】方式打开报表。
修改各行库存量的值,点击【系统提交按钮】后页面自动刷新,发现页面数据 都执行了提交入库操作。
如图:
修改各行库存量的值,点击【自定义提交按钮】后页面自动刷新,发现页面数据 只有当前行的值发生了变化,实现了当行提交,而其他行并未收到影响。
在线查看模板效果请点击自定义按钮实现单行提交.cpt
已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\自定义按钮实现单行提交.cpt。