历史版本6 :JS实现普通报表显示实时时间 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

在论坛上经常会有人提出来,想在报表里显示即时的时间,由于在报表里使用公式,是只能显示静止的当前时间,而不是即时的时间,这里可以通过JS来实现即时的时间显示

222

2.解决思路编辑


获取当前的时间,一秒刷新一次报表,将当前时间显示在A1单元格里。

3. 实现步骤编辑

3.1 添加加载结束后事件

点击模板>模板web属性>填报页面设置,选择为该模板单独设置,在下面的事件设置里面添加一个加载结束事件,完整js代码如下:
function Appendzero(obj) {
if(obj<10) return "0" +""+ obj; //判断obj是否小于10,如果小于10,则在数字前面加上"0"补位
else return obj; 
}  
FR.CLOCK = function(cell)
{ var cl = $('[id^='+cell+']');//因为后面调用使用了 FR.CLOCK('A1'),即得到A1的句柄
setInterval(function(){ 
var date=new Date();//获取当时日期
var format=date.getFullYear()+"-"+Appendzero(date.getMonth()+1)+"-"+Appendzero(date.getDate())+" "+Appendzero(date.getHours())+":"+Appendzero(date.getMinutes())+":"+Appendzero(date.getSeconds());//format 是一个数符串,把年-月-日 小时:分钟:秒组合到一起了,调用了Appendzero()函数,进行补位操作
cl.html(format); //C1,传来的单元格,使单元格里显示日期
},1000);//1000毫秒=1秒,即1秒钟刷新一次 
} ; 
FR.CLOCK('A1');//这里是关键,A1是传的单元格,传给CLOCK方法


222
3.2 保存与预览
保存模板,点击填报预览,效果即如上。

222效果如下,注:使用的是填报模式



关键字:显示现在时间