当日期有默认值时,My97 DatePicker日期控件实现日期文本输入框必填而无需验证控件支持
2015-05-29 10:05
711 查看
在开发的时候发现的小细节,之前用validform验证日期输入框必填,后来发现满足以下条件可实现必填了,条件如下:
1、打开页面时日期有默认值。
my97 datepicker里没有找到默认值显示功能,我写了2个公用函数来实现:
/*获取指定日期,返回指定格式如2012-12-01
*days-为0标示获取当前时间,负值(如-1)为当前时间前一天的年月日,正值反之
*time-指定时间(如2015-3-5)配合days(如-100)表示2015-3-5前100天的年月日
*has_hms-表示是否包含时分秒,默认无
/
function global_tool_getdate(days,time,has_hms){
var newdate;
if(days==0){
var now=new Date();
var y=now.getFullYear();
var m=now.getMonth()+1;
m=(m<10?"0"+m:m);
var d=now.getDate();
d=(d<10?"0"+d:d);
if(has_hms){
var h=now.getHours();
h=(h<10?"0"+h:h);
var min=now.getMinutes();
min=(min<10?"0"+min:min);
var s=now.getSeconds();
s=(s<10?"0"+s:s);
newdate=y+"-"+m+"-"+d+" "+h+":"+min+":"+s;
}else{
newdate=y+"-"+m+"-"+d;
}
}else{
var starttime;
if(time){
if(has_hms){
var timearr=time.split(" ");
var time_h=timearr[0].split("-"),time_e=timearr[1].split(":");
starttime=new Date(parseInt(time_h[0]),parseInt(time_h[1])-1,parseInt(time_h[2]),parseInt(time_e[0]),parseInt(time_e[1]),parseInt(time_e[2])).getTime();
}else{
var timearr=time.split("-");
starttime=new Date(parseInt(timearr[0]),parseInt(timearr[1])-1,parseInt(timearr[2])).getTime();
}
}else{
starttime=new Date().getTime();
}
var old=new Date(starttime+24*60*60*1000*days);
var old_y=old.getFullYear();
var old_m=old.getMonth()+1;
old_m=(old_m<10?"0"+old_m:old_m);
var old_d=old.getDate();
old_d=(old_d<10?"0"+old_d:old_d);
if(has_hms){
var old_h=old.getHours();
old_h=(old_h<10?"0"+old_h:old_h);
var old_min=old.getMinutes();
old_min=(old_min<10?"0"+old_min:old_min);
var old_s=old.getSeconds();
old_s=(old_s<10?"0"+old_s:old_s);
newdate=old_y+"-"+old_m+"-"+old_d+" "+old_h+":"+old_min+":"+old_s;
}else{
newdate=old_y+"-"+old_m+"-"+old_d;
}
}
return newdate;
}
/*获取指定年月,返回指定格式如2012-12
*months-为0表示当前年月,负值(如-13)为当前前13个月表示的年月,正值反之
*/
function global_tool_getyearmonth(months){
var newdate;
var now=new Date();
var y=now.getFullYear();
var m=now.getMonth();
if(months==0){
m=m+1;
m=(m<10?"0"+m:m);
newdate=y+"-"+m;
}else{
m=m+months;
var newtime=new Date(y,m);
var new_y=newtime.getFullYear();
var new_m=newtime.getMonth()+1;
new_m=(new_m<10?"0"+new_m:new_m);
newdate=new_y+"-"+new_m;
}
return newdate;
}
$("#overduedetail_ordermonth").val(global_tool_getdate(-1));//赋值即可
2、把日期弹窗的清空按钮隐藏。
在onclick的wdatepicker的参数里增加属性isShowClear:false实现影藏清空按钮
逾期分析日期:<input type="text" id="overduedetail_ordermonth" value="" class="Wdate" size="15" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false,onpicked:function(){overduedetail_search_click();}})" readonly="readonly"/>
3、文本输入框不可编辑。
给inputy元素增加属性readonly="readonly"即可
1、打开页面时日期有默认值。
my97 datepicker里没有找到默认值显示功能,我写了2个公用函数来实现:
/*获取指定日期,返回指定格式如2012-12-01
*days-为0标示获取当前时间,负值(如-1)为当前时间前一天的年月日,正值反之
*time-指定时间(如2015-3-5)配合days(如-100)表示2015-3-5前100天的年月日
*has_hms-表示是否包含时分秒,默认无
/
function global_tool_getdate(days,time,has_hms){
var newdate;
if(days==0){
var now=new Date();
var y=now.getFullYear();
var m=now.getMonth()+1;
m=(m<10?"0"+m:m);
var d=now.getDate();
d=(d<10?"0"+d:d);
if(has_hms){
var h=now.getHours();
h=(h<10?"0"+h:h);
var min=now.getMinutes();
min=(min<10?"0"+min:min);
var s=now.getSeconds();
s=(s<10?"0"+s:s);
newdate=y+"-"+m+"-"+d+" "+h+":"+min+":"+s;
}else{
newdate=y+"-"+m+"-"+d;
}
}else{
var starttime;
if(time){
if(has_hms){
var timearr=time.split(" ");
var time_h=timearr[0].split("-"),time_e=timearr[1].split(":");
starttime=new Date(parseInt(time_h[0]),parseInt(time_h[1])-1,parseInt(time_h[2]),parseInt(time_e[0]),parseInt(time_e[1]),parseInt(time_e[2])).getTime();
}else{
var timearr=time.split("-");
starttime=new Date(parseInt(timearr[0]),parseInt(timearr[1])-1,parseInt(timearr[2])).getTime();
}
}else{
starttime=new Date().getTime();
}
var old=new Date(starttime+24*60*60*1000*days);
var old_y=old.getFullYear();
var old_m=old.getMonth()+1;
old_m=(old_m<10?"0"+old_m:old_m);
var old_d=old.getDate();
old_d=(old_d<10?"0"+old_d:old_d);
if(has_hms){
var old_h=old.getHours();
old_h=(old_h<10?"0"+old_h:old_h);
var old_min=old.getMinutes();
old_min=(old_min<10?"0"+old_min:old_min);
var old_s=old.getSeconds();
old_s=(old_s<10?"0"+old_s:old_s);
newdate=old_y+"-"+old_m+"-"+old_d+" "+old_h+":"+old_min+":"+old_s;
}else{
newdate=old_y+"-"+old_m+"-"+old_d;
}
}
return newdate;
}
/*获取指定年月,返回指定格式如2012-12
*months-为0表示当前年月,负值(如-13)为当前前13个月表示的年月,正值反之
*/
function global_tool_getyearmonth(months){
var newdate;
var now=new Date();
var y=now.getFullYear();
var m=now.getMonth();
if(months==0){
m=m+1;
m=(m<10?"0"+m:m);
newdate=y+"-"+m;
}else{
m=m+months;
var newtime=new Date(y,m);
var new_y=newtime.getFullYear();
var new_m=newtime.getMonth()+1;
new_m=(new_m<10?"0"+new_m:new_m);
newdate=new_y+"-"+new_m;
}
return newdate;
}
$("#overduedetail_ordermonth").val(global_tool_getdate(-1));//赋值即可
2、把日期弹窗的清空按钮隐藏。
在onclick的wdatepicker的参数里增加属性isShowClear:false实现影藏清空按钮
逾期分析日期:<input type="text" id="overduedetail_ordermonth" value="" class="Wdate" size="15" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false,onpicked:function(){overduedetail_search_click();}})" readonly="readonly"/>
3、文本输入框不可编辑。
给inputy元素增加属性readonly="readonly"即可
相关文章推荐
- 有jar包依然报java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
- Struts2的结果集的详细介绍及说明案例分析
- 《编程珠玑》 心得笔记
- 我的大学 --- 与书为伴
- oracle字符串函数总结
- 使用nvmw解决windows下多版本node共存的问题
- xcrun: error: active developer path
- 透明度与十六进制代码转换
- 开篇有益
- shaded.org.eclipse.aether.resolution.ArtifactResolutionException解决方法
- Jquery动态添加输入框的方法
- JAVA水晶报表从环境搭建到创建动态水晶报表
- Isomorphic Strings
- ABAP性能优化之使用二分查找(Binary Search)选项
- Shiro学习笔记(4)——ini 配置
- cygwin安装
- TFS扩展开发中遇到的坑
- jquery倒计时插件用法
- C++学习 Boost状态机说明statechart
- ModelMap和ModelAndView的区别