99265.COM
BETA
| 新设计 新视觉
回首页
| 登录
平面设计
设计前沿
设计学堂
教程学习
中国元素
素材下载
广告设计
策划设计
地产设计
征集
杂志
佳作欣赏
用品设计
理论
UI
网站鉴赏
比赛作品
设计公司
设计师
插画设计
色彩设计
型录设计
T恤设计
服装设计
名片设计
海报设计
动漫设计
装帧设计
手袋设计
唯美摄影
韩国设计
VI设计
平面教程
印前设计
画册设计
版面设计
UI设计
卡片设计
网页设计
工业设计
室内设计
建筑设计
包装设计
POP设计
CorelDraw教程
Photoshop教程
dw教程
css教程
特效教程
设计元素
中国元素
台湾设计
徽州文化
传统cdr
人物cdr
其他cdr
植物cdr
春节cdr
圣诞cdr
禧庆cdr
字体下载
壁纸下载
png下载
gif下载
著名标志CDR
今天是:
您现在的位置:
新视觉
>>
教程
>>
网页
>>
特效
>> 教程正文:非常实用表单日期输入的JS脚本
非常实用表单日期输入的JS脚本
作者:未知 文章来源:未知 添加时间:2008-3-11
<script language=javascript> var DS_x,DS_y; function dateSelector() //构造dateSelector对象,用来实现一个日历形式的日期输入框。 { var myDate=new Date(); this.year=myDate.getFullYear(); //定义year属性,年份,默认值为当前系统年份。 this.month=myDate.getMonth()+1; //定义month属性,月份,默认值为当前系统月份。 this.date=myDate.getDate(); //定义date属性,日,默认值为当前系统的日。 this.inputName=''; //定义inputName属性,即输入框的name,默认值为空。注意:在同一页中出现多个日期输入框,不能有重复的name! this.display=display; //定义display方法,用来显示日期输入框。 } function display() //定义dateSelector的display方法,它将实现一个日历形式的日期选择框。 { var week=new Array('日','一','二','三','四','五','六'); document.write("<style type=text/css>"); document.write(" .ds_font td,span { font: normal 12px 宋体; color: #000000; }"); document.write(" .ds_border { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }"); document.write(" .ds_border2 { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }"); document.write("</style>"); document.write("<input style='text-align:center;' id='DS_"+this.inputName+"' name='"+this.inputName+"' value='"+this.year+"-"+this.month+"-"+this.date+"' title=双击可进行编缉 ondblclick='this.readOnly=false;this.focus()' onblur='this.readOnly=true' readonly>"); document.write("<button style='width:60px;height:18px;font-size:12px;margin:1px;border:1px solid #A4B3C8;background-color:#DFE7EF;' type=button onclick=this.nextSibling.style.display='block' onfocus=this.blur()>选择日期</button>"); document.write("<div style='position:absolute;display:none;text-align:center;width:0px;height:0px;overflow:visible' onselectstart='return false;'>"); document.write(" <div style='position:absolute;left:-60px;top:20px;width:142px;height:165px;background-color:#F6F6F6;border:1px solid #245B7D;' class=ds_font>"); document.write(" <table cellpadding=0 cellspacing=1 width=140 height=20 bgcolor=#CEDAE7 onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();' onmouseup='releaseCapture();' onmousemove='dsMove(this.parentNode)' style='cursor:move;'>"); document.write(" <tr align=center>"); document.write(" <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=subYear(this) title='减小年份'><<</td>"); document.write(" <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=subMonth(this) title='减小月份'><</td>"); document.write(" <td width=52%><b>"+this.year+"</b><b>年</b><b>"+this.month+"</b><b>月</b></td>"); document.write(" <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=addMonth(this) title='增加月份'>></td>"); document.write(" <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=addYear(this) title='增加年份'>>></td>"); document.write(" </tr>"); document.write(" </table>"); document.write(" <table cellpadding=0 cellspacing=0 width=140 height=20 onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();' onmouseup='releaseCapture();' onmousemove='dsMove(this.parentNode)' style='cursor:move;'>"); document.write(" <tr align=center>"); for(i=0;i<7;i++) document.write(" <td>"+week[i]+"</td>"); document.write(" </tr>"); document.write(" </table>"); document.write(" <table cellpadding=0 cellspacing=2 width=140 bgcolor=#EEEEEE>"); for(i=0;i<6;i++) { document.write(" <tr align=center>"); for(j=0;j<7;j++) document.write(" <td width=10% height=16 onmouseover=if(this.innerText!=''&&this.className!='ds_border2')this.className='ds_border' onmouseout=if(this.className!='ds_border2')this.className='' onclick=getvalue(this,document.all('DS_"+this.inputName+"'))></td>"); document.write(" </tr>"); } document.write(" </table>"); document.write(" <span style=cursor:hand onclick=this.parentNode.parentNode.style.display='none'>【关闭】</span>"); document.write(" </div>"); document.write("</div>"); dateShow(document.all("DS_"+this.inputName).nextSibling.nextSibling.childNodes[0].childNodes[2],this.year,this.month) } function subYear(obj) //减小年份 { var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes; myObj[0].innerHTML=eval(myObj[0].innerHTML)-1; dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML)) } function addYear(obj) //增加年份 { var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes; myObj[0].innerHTML=eval(myObj[0].innerHTML)+1; dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML)) } function subMonth(obj) //减小月份 { var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes; var month=eval(myObj[2].innerHTML)-1; if(month==0) { month=12; subYear(obj); } myObj[2].innerHTML=month; dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML)) } function addMonth(obj) //增加月份 { var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes; var month=eval(myObj[2].innerHTML)+1; if(month==13) { month=1; addYear(obj); } myObj[2].innerHTML=month; dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML)) } function dateShow(obj,year,month) //显示各月份的日 { var myDate=new Date(year,month-1,1); var today=new Date(); var day=myDate.getDay(); var selectDate=obj.parentNode.parentNode.previousSibling.previousSibling.value.split('-'); var length; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: length=31; break; case 4: case 6: case 9: case 11: length=30; break; case 2: if((year%4==0)&&(year%100!=0)||(year%400==0)) length=29; else length=28; } for(i=0;i<obj.cells.length;i++) { obj.cells[i].innerHTML=''; obj.cells[i].style.color=''; obj.cells[i].className=''; } for(i=0;i<length;i++) { obj.cells[i+day].innerHTML=(i+1); if(year==today.getFullYear()&&(month-1)==today.getMonth()&&(i+1)==today.getDate()) obj.cells[i+day].style.color='red'; if(year==eval(selectDate[0])&&month==eval(selectDate[1])&&(i+1)==eval(selectDate[2])) obj.cells[i+day].className='ds_border2'; } } function getvalue(obj,inputObj) //把选择的日期传给输入框 { var myObj=inputObj.nextSibling.nextSibling.childNodes[0].childNodes[0].cells[2].childNodes; if(obj.innerHTML) inputObj.value=myObj[0].innerHTML+"-"+myObj[2].innerHTML+"-"+obj.innerHTML; inputObj.nextSibling.nextSibling.style.display='none'; for(i=0;i<obj.parentNode.parentNode.parentNode.cells.length;i++) obj.parentNode.parentNode.parentNode.cells[i].className=''; obj.className='ds_border2' } function dsMove(obj) //实现层的拖移 { if(event.button==1) { var X=obj.clientLeft; var Y=obj.clientTop; obj.style.pixelLeft=X+(event.x-DS_x); obj.style.pixelTop=Y+(event.y-DS_y); } } </script> 从 <script language=javascript> var myDate=new dateSelector(); myDate.year--; myDate.inputName='start_date'; //注意这里设置输入框的name,同一页中日期输入框,不能出现重复的name。 myDate.display(); </script>
上一篇教程:
非常漂亮的脚本日历
下一篇教程:
CSS仿淘宝首页导航条按钮布局效果
『
打印此文
』『
关闭窗口
』
【相关文章】
非常漂亮的脚本日历
很漂亮实用的日历
可以放在网页任何位置的日历特效代码
网页中实用的中英文日历网页特效代码
一天之中分多个时段出现不同的提示信息
非常酷的有农历的日历挂历
显示走动时间的超级酷挂历
显示当前时间实用的日历框效果
【免责声明】
本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。如果本站转载的文章有任何版权问题或任何异议,请惠赐:99_265#163.com。
推荐文章
非常漂亮的脚本日历
显示当前时间实用的日历框效果
极品万年历网页特效
精致的日历特效代码
热门文章
给网页文字加上即时提示
实用的脚本代码
CSS仿淘宝首页导航条按钮布局效…
非常实用表单日期输入的JS脚本
非常漂亮的脚本日历
距离北京2008年奥运会开幕的倒…
很漂亮实用的日历
可以放在网页任何位置的日历特…
网页中实用的中英文日历网页特…
全页漂浮的图片的广告代码网页…
超酷随鼠标而飞动的时钟--时钟…
一天之中分多个时段出现不同的…
非常酷的有农历的日历挂历
真正的万年历
用中文显示当前是星期几
© 2007 新视觉. 99265.com
关于新视觉
-
广告服务
-
版权申明
-
联系我们
-
皖ICP备05001767号.