用到时间选择器(一)之使用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>
初步方案如此,只做记录只用。
<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>
初步方案如此,只做记录只用。
相关文章推荐
- Android滚轮选择时间控件使用详解
- 使用 DateTimePicker 控件显示和选择时间
- 日期时间选择控件配置使用方法
- jq时间选择控件的使用
- 用到时间选择器(二)之使用My97控件
- 关于使用jqmobi前端框架在phonegap平台上开发时的日期时间选择控件
- Android日期时间选择控件使用详解
- Bootstrap3 日期+时间选择控件 datetimepicker的使用方法说明
- 使用Bootstrap编写时间范围选择控件
- asp.net mvc中使用jquery H5省市县三级地区选择控件
- Android DatePicker日期选择器、TimePicker时间选择器的使用
- 关于上传控件“FileUpload”的使用,将上传的图片的名称以服务器的时间命名。
- Android中日期和时间控件的使用
- Android显示时间和日期的控件的使用总结
- C# 模仿QQ、MSN消息提示系列 五、改进 只使用两个时间控件
- JS日期和时间选择控件升级版(自写)
- robotframe使用之时间控件点击不了
- Bootstrap-daterangepicker(时间范围选择器使用及汉化)
- (转)扩展EXT时间控件,可以选择到时分秒
- Vue Element Form表单时间验证控件使用