用到时间选择器(一)之使用datetimerpicker控件

来源:互联网 发布:淘宝网址转换微信 编辑:程序博客网 时间:2024/04/29 01:43

写OA,其中有个申请请假功能模块,用到日期选择器,初步方案是用到struts2自带的dojo中的 datetimerpicker控件:

<script type="text/javascript">

//截断字符串前后空格
function trim(s){
return s.replace(/^\s*/,"").replace(/\s*$/,"");
}

function checkatt(){
//var start = trim(document.mailForm.elements['attendance.attStart'].value);
//var end = trim(document.mailForm.elements['attendance.attEnd'].value);
var start =  dojo.widget.byId("starttime").getDate();  //这里本来是用上面的注释掉得方法获得日期值,但是在IE中出现了问题,导致如果日期为空的话验证报错,貌似是兼容性问题,在同学的代码中发现他是这么写的,改了后居然没事了,无论IE还是火狐都可以正常非空验证了。
var end = dojo.widget.byId("endtime").getDate();

var days = trim(document.mailForm.elements['attendance.attDays'].value);
var approve = trim(document.mailForm.elements['attendance.attApprove'].value);
var reason = trim(document.mailForm.elements['attendance.attReason'].value);

if(start==null||start==""){
alert("开始时间不能为空!");
return false;
}
if(end==null||end==""){
alert("结束时间不能为空!");
return false;
}else if(end<=start){
alert("结束日期必须在开始日期之后!");
return false;

}

if(days==null||days==""){
alert("请假天数不能为空!");
return false;
}else if(isNaN(days)){
alert("天数只能是数字!");
return false;
}else if(days<=0||days>366){
alert("请假天数只能在1-366之间!");
return false;
}
if(approve==null||approve==""){
alert("请选择审批人!");
return false;
}
if((end-start)<0){
alert("结束日期不能再开始日期之前!")
return false;
}
if(reason.length>250){
alert("请假原因不能超过250个字符!")
return false;
}
       return true;   
}
function insDays(){
var start =  dojo.widget.byId("starttime").getDate();
var end = dojo.widget.byId("endtime").getDate();
alert((end-start)/(1000*24*60*60));
}

</script>


<tr>

<td align="right" width="30%">

开始时间:
</td>
<td align="left">
<sx:datetimepicker name="attendance.attStart" id="starttime" displayFormat="yyyy-MM-dd" language="UTF-8"/>
<span style="color: red;font-size: 12px;" id="startSpan">*</span>
</td>
</tr>
<tr>
<td align="right" width="30%">
结束时间:
</td>
<td align="left">
<sx:datetimepicker name="attendance.attEnd" id="endtime" displayFormat="yyyy-MM-dd" language="UTF-8"/>
<span style="color: red;font-size: 12px;" id="endSpan">*</span>
</td>
</tr>


初步方案如此,只做记录只用。