在使用填报表时,有些用户一次需要填报的内容比较多,万一遇到浏览器卡顿不响应,然后导致数据丢失要重新填报……估计就是 "事故现场" 了(此处省略一万个字)。这个时候, 呆呆就在想,填报表能不能实现像 word 一样在编辑过程中自动定时提交保存的效果呢?
幸好,答案是肯定的。
下面我们就具体说道说道,这个效果是怎么实现的。实现此效果不可或缺的是 js 的助力,然后配合润乾报表的提交数据方法。
具体操作如下:
首先,明确当前填报表展现是使用哪个 jsp 进行解析的;
注:此处以润乾工具自带 showReport.jsp 为例
然后,应用 js 定时执行某操作的方法 (不知道直接问度娘哈),如:
setInterval(要执行的 js 方法,执行的时间间隔);
--- 时间单位为毫秒
最后,定时执行润乾提交数据的操作: _inputSubmit(“<%=sgid%>”)。
完整地看一下,在报表展现的 jsp 中定义 js 方法如下:
这样,我们就轻松实现了像 word 那样定时提交保存的效果了(这个例子中每 3 秒执行一次提交操作)。
还是老套路,最最后画出至关重要的技术姿势:
1. 定时方法
setInterval 方法通过 js 控制定时执行什么操作。
方法执行体需用户根据自己的实际应用自定义 比如:方法里写 alert(提示信息),那就三秒 alert 一次;方法里写提交数据,就三秒提交一次数据。
inputApi.saveSuccess 是提交数据成功后,执行什么操作,默认的是 alert(保存成功),同样可以自定义其他执行操作,比如什么都不做或者刷新页面等。
2. 提交方法
_inputSubmit() 方法润乾报表内置的填报提交方法。常与 js 方法配合实现一些个性化操作。如: 提交后跳转到某个指定页面, 标志字段实现填报数据的暂存与锁定……