填报表能不能像 word 那样定时自动保存?

在使用填报表时,有些用户一次需要填报的内容比较多,万一遇到浏览器卡顿不响应,然后导致数据丢失要重新填报……估计就是 "事故现场" 了(此处省略一万个字)。这个时候, 呆呆就在想,填报表能不能实现像 word 一样在编辑过程中自动定时提交保存的效果呢?

幸好,答案是肯定的。

下面我们就具体说道说道,这个效果是怎么实现的。实现此效果不可或缺的是 js 的助力,然后配合润乾报表的提交数据方法。

具体操作如下:

首先,明确当前填报表展现是使用哪个 jsp 进行解析的;

注:此处以润乾工具自带 showReport.jsp 为例

然后,应用 js 定时执行某操作的方法 (不知道直接问度娘哈),如:

setInterval(要执行的 js 方法,执行的时间间隔);  

--- 时间单位为毫秒

最后,定时执行润乾提交数据的操作: _inputSubmit(“<%=sgid%>”)。

完整地看一下,在报表展现的 jsp 中定义 js 方法如下:

<script>

    var inputApi = {}; 

    inputApi.saveSuccess = function(){

        //window.location.reload();  保存成功自动刷新页面

    }

    $(document).ready(function(){

        setInterval(function(){

            _inputSubmit("<%=sgid%>");

        },3000);    

    });

</script> 

这样,我们就轻松实现了像 word 那样定时提交保存的效果了(这个例子中每 3 秒执行一次提交操作)。

还是老套路,最最后画出至关重要的技术姿势:

1. 定时方法

setInterval 方法通过 js 控制定时执行什么操作。

方法执行体需用户根据自己的实际应用自定义 比如:方法里写 alert(提示信息),那就三秒 alert 一次;方法里写提交数据,就三秒提交一次数据。

inputApi.saveSuccess 是提交数据成功后,执行什么操作,默认的是 alert(保存成功),同样可以自定义其他执行操作,比如什么都不做或者刷新页面等。

2. 提交方法

_inputSubmit() 方法润乾报表内置的填报提交方法。常与 js 方法配合实现一些个性化操作。如: 提交后跳转到某个指定页面, 标志字段实现填报数据的暂存与锁定……

更多填报相关问题请查看:填报问题分类导航
* 脚本模式下的填报表制作
* 行式填报之主键设置
* 填报流水号,缺省表达式设置
* 如何通过脚本实现数据动态更新