您的位置:首页 > 其它

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

2011-11-28 17:04 573 查看
写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>

初步方案如此,只做记录只用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: