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;
}
虽然在参数控件中也可以设置校验,但是参数控件要点击控件后才能进行校验,因此参
数界面的不能为空以及比较校验需要在查询按钮中设置,所以倒不如全放在查询按钮中进行
校验。
设置完查看模板,选择开始时间和结束时间,使这两个日期之间相差超过 15 天,就会
弹出上述对话框。
因为 FineReport 的报表界面是在前段展示,我特地把各种浏览器试了个遍。刚刚上述的
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;