报表分析工具FineReport中日期控件如何校验JS

 时间:2026-02-14 14:13:43

1、具体效果图如下:

具体错误见效果图报错警告。

报表分析工具FineReport中日期控件如何校验JS

2、打开模板

打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\TimeScale\TimeScale.cpt。

如下图参数界面:

报表分析工具FineReport中日期控件如何校验JS

3、增加事件

给查询按钮增加点击事件,具体的JS代码如下:

var start = this.options.form.getWidgetByName("starttime").getValue();  

var end = this.options.form.getWidgetByName("endtime").getValue();  

if( start == "" || start==null){  //判断开始日期是否为空

  alert("错误,开始时间不能为空");   //开始日期参数为空时提示

  return false;  

};  

if(end == "" || end==null){  //判断结束日期是否为空

  alert("错误,结束时间不能为空");   //结束日期参数为空时提示

  return false;  

};  

if( start > end){   //判断开始日期是否大于结束日期

  alert("错误,开始时间不能大于结束时间");   //开始日期大于结束日期时提示  

  return false;  

}

var startdate = new Date(start);   //将开始日期转化为Date型

var enddate = new Date(end);    //将结束日期转化成Date型

var subdate = (enddate-startdate)/ (1000 *60 *60 *24);   //将两个日期相减得出的毫秒数转化为天数

if(subdate>15){    //判断结束日期是否超过开始日期后15天

alert("错误,结束日期必须在开始日期15天之内");    //结束日期超过开始日期后的十五天时提示

return false;

}

注:虽然参数控件中也可以设置校验,但是参数控件要点击控件后才能进行校验,因此参数界面的不能为空以及比较校验需要在查询按钮中设置。

4、效果查看

分页预览模板,选择开始时间和结束时间,使这两个日期之间相差超过15天,就会弹出上述对话框。

注:上述哨孝争js代码在火狐,谷歌IE9等浏览器下没有问题,但是在IE8以及IE8以下的ie浏览器版本中时判断两个日期之间的差值的警告框则不会起作用。可用以下代码:

var start = this.options.form.getWidgetByName("starttime").getValue();    

var end = this.options.form.getWidgetByName("endtime").getValue();    

if( start == "" || start==null){  //判断开始日期是否为空  

  alert("错误,开始时间不能为空");   //开选裁始日期参数为空时提示  

  return false;    

};    

if(end == "" || end==null){  //判断结束日期是否为空  

  alert("错误,结束时间不能为空");   //结束日期参数为空时提示  

  return false;    

};    

if( start > end){   //判断开始日期是否大于结束日期  

  alert("错误,开始时间不能大于结总泰束时间");   //开始日期大于结束日期时提示    

  return false;    

}  

var aDate  =  start.split("-")  

var startdate =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为MM-dd-yyyy格式  

alert(startdate);

var aDate  =  end.split("-")  

var enddate  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  

alert(enddate);

var subdate=  ((enddate  -  startdate)  /1000/  60/60/24)    //把相差的毫秒数转换为天数  

alert(subdate);

if(subdate>15){    //判断结束日期是否超过开始日期后15天  

alert("错误,结束日期必须在开始日期15天之内");    //结束日期超过开始日期后的十五天时提示  

return false;  

}

  • 数据分析软件FineReport中日期控件如何校验JS
  • 表格软件FineReport中日期控件如何校验JS
  • 电子表格FineReport中日期控件如何校验JS
  • Java报表插件:FineReport使用js进行校验
  • Java表格控件:FineReport使用js进行校验
  • 热门搜索
    四喜丸子的家常做法 鲜辣椒的腌制方法 皮衣怎么保养 美女131高清图片大全 怎么格式化内存卡 近视治疗方法 怎么做代购 柚子皮怎么做好吃 出现腹水怎么办 解梦破解大全查询