`
shenzhw
  • 浏览: 61743 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

JS简易日期控件

阅读更多
JS文件内容:
function DateInput(name,yearBegin,yearEnd)
{
       this.name=name;
       this.yearBegin=yearBegin;
       this.yearEnd=yearEnd;
       var today=new Date();
       this.curYear=today.getFullYear();
       this.curMonth=today.getMonth() + 1;
       this.curDay=today.getDate();
 
       this.outputHTML=DateInput_outputHTML;
       this.onMonthChanged=DateInput_onMonthChanged;
       this.onYearChanged=DateInput_onYearChanged;
}
function DateInput_onYearChanged()
{
       var yearSelector=document.all[this.name+"_year"];
       var monthSelector=document.all[this.name+"_month"];
       var daySelector=document.all[this.name+"_day"];
 
       var currentYear=parseInt(yearSelector.value);
       var currentMonth=parseInt(monthSelector.value);
 
       if(currentMonth!=2) return;
 
       var days=30;
       var isLeapYear=false;
       if(currentYear % 400 == 0 || (currentYear % 4 == 0 && currentYear % 100 !=0)) days=29;
       else days=28;
 
       var html="";
       daySelector.length=0;
       for(i=1;i<=days;i++) daySelector.options[daySelector.length] = new Option(i,i)
}
function DateInput_onMonthChanged()
{
       var yearSelector=document.all[this.name+"_year"];
       var monthSelector=document.all[this.name+"_month"];
       var daySelector=document.all[this.name+"_day"];
 
       var currentYear=parseInt(yearSelector.value);
       var currentMonth=parseInt(monthSelector.value);
 
       var days=30;
       var isLeapYear=false;
       if(currentYear%400==0||(currentYear%4==0 && currentYear % 100!=0)) isLeapYear=true;
       switch(currentMonth)
       {
       case 1:    case 3:    case 5:    case 7:    case 8: case 10: case 12: days=31;
       }
       if(currentMonth==2)
       if(isLeapYear) days=29;
       else days=28;
 
       var html="";
       daySelector.length=0;
       for(i=1;i<=days;i++) daySelector.options[daySelector.length] = new Option(i,i)
}
function DateInput_outputHTML()
{
       var html="";
       var i;
 
       html+="<select name='"+this.name+"_year' onchange='"+this.name+".onYearChanged()'>";
       for(i=this.yearBegin;i<=this.yearEnd;i++)
       {
       	html+="   <option";
       	if(i==this.curYear){
       		html+="   <option selected='selected'";
       	}
       	html+=" value='"+i+"'>"+i+"</option>";
       }
       
       html+="</select>年";
 
       html+="<select name='"+this.name+"_month' onchange='"+this.name+".onMonthChanged()'>";
       for(i=1;i<=12;i++)
       {
       	html+="   <option";
       	if(i==this.curMonth)
       	 html+=" selected='selected'";
       	if(i<10)
       	 i="0"+i;
       	html+=" value='"+i+"'>"+i+"</option>";
       }
       html+="</select>月";       
 
       html+="<select name='"+this.name+"_day'>";
       for(i=1;i<=31;i++)
       {
       	html+="   <option";
       	if(i==this.curDay)
       	html+=" selected='selected'"
       	if(i<10)i="0" + i;
       	html+=" value='"+i+"'>"+i+"</option>";
       }
       
       html+="</select>日";
       document.write(html);
}


HTML文件内容为:
<html>
	<head>
		<script src="DateInput.js"></script>
	</head>
	<body>
		<input type="submit" disabled="disabled">
		<script language="javascript">
			var date1=new DateInput("date1",1900,2100);
			date1.outputHTML();
			
		</script>
	</body>
</html>
分享到:
评论

相关推荐

    js 简易的日历控件

    类似QQ邮箱中的简洁版日历,适合放到网页左下角或者后台管理页面的欢迎页面,简洁大方,通用版的

    js 简易的日历控件.zip

    js 简易的日历控件.zip

    一个简单好用的JS时间控件

    很好用,可惜不是每个浏览器都兼容,我的JS不好。郁闷

    JS学习之一个简易的日历控件

    种日历控件实现起来不难,下面简单分析下我的思路

    jQuery控件简易日历表格代码.zip

    jQuery控件简易日历表格代码是一款较为简单的显示日历的代码,兼容firefox、chrome、ie。

    jQuery简易的日历插件下载.zip

    jQuery简易的日历插件下载是一款日历日期代码。

    一起学写js Calender日历控件

    主要和大家一起学写js Calender控件,自己动手编写了一个简易日历控件,感兴趣的小伙伴们可以参考一下

    简易日期选择器(JS版)

    JS版简易日期选择器。兼容IE6、IE7、FF3。1900-2099年之间,可以设置是否选择时分秒、最大最小日期、双日期选择相互制约等。前段时间因一项目需要而编写。放出共享。

    javascript中Date对象应用之简易日历实现

    简易日历作为javascript中Date对象的常见应用,用途较广泛,本文将详细说明简易日历的实现思路。 效果演示   HTML说明  使用type=number的两个input分别作为年和月的输入控件,这样在高级浏览器下自带调节按钮 ...

    使用vue写的一个简单的日历

    使用vue写的一个简单的日历

    DotNetTextBox所见即所得编辑器控件 v3.3.1

    12) 使用帮助.CHM文件中增加控件内置属性的说明列表(简易形式)。 13) 此版本是稳定版本,以后架构将不会再作大的更新,如果有增加功能或者修正BUG将会采用增量更新包形式提供。 &lt;br&gt;2007/7/04 Version ...

    My97DatePicker前端日期插件

    My97DatePicker一款简易前端日期控件,自带格式验证功能,使用很简单,input标签引用对应的class即可

    我记录网站综合系统 1.6源码

    解决论坛首页无图片+调试状态js报错的bug 菜单:解决添加本地abcd.html 多出abcd.html.aspx 后缀的问题 1.6新版特别推荐 微博功能: 1)支持优酷、土豆、ku6、56网的视频,但要注意的是,视频必须是播放页的...

    asp.net知识库

    Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0 WebPart使用经验点滴 革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression ...

    YUI v3.17.2 RC1.zip

    图形式、动态的控制,用于日期选择。 容器 支援大量的DHTML视窗规范包括 提示框(Tooltip)、面板、对话框、简易对话框、模组与覆盖层(Overlay)。 资料表 简单且强大的应用程式接口用来显示网页上屏幕阅读器可存取...

    Java计算器实验报告(1).doc

    实验日期:2018年 4月23日 地点:计算机学院综合试验中心(I-303) 实验学时:4 实验成绩: 指导教师签字: 2018年 5月21日 1. 问题需求描述:Problem description 利用Java Swing设计计算器图形化界面,并实现事件的...

Global site tag (gtag.js) - Google Analytics