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

写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>


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值