多浏览器兼容的JS日历控件

多浏览器兼容的JS日历控件

吴剑 2008-08-01

原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/

 

前言

感觉绝大部分国产的软件在代码严谨方面与国外有着相当大的差距,也许跟中国历来的软件免费思想有关,所有软件都是免费的,能用就行。这就造成了整个行业、整个开发者群体对严谨、安全缺乏足够重视。很多程序员对用户体验、一些小细节、小BUG毫不在乎,对自己理解所谓的“核心功能”却洋洋自得。其实我相信国内99%的软件企业做的都是应用型开发,不会有太多技术含量,并且随着开发语言越来越 “高级”,大家做的都是业务逻辑,像C#、Java这样的高级语言已经封装了几乎所有底层功能。所以,细节绝对是决定成败的关键。  

扯远了,回到主题。曾经试用过多款国产的日历控件,但或多或少总是存在问题,要不在多浏览器下出现脚本错误,要不就是CSS畸形。因个人有完美主义倾向,所以决定去找一款国外的作个对比参考,结果搜到了现在这款。个人感觉简洁、大方、多浏览器兼容(测试了市面上的几乎所有浏览器),严格遵循W3C规范,同时扩展与配置也非常方便。因西方的日期时间表示与中国存在差异,所以修改了部分源代码,将日期时间操作按国人习惯,同时进行了汉化,添加了部分功能(默认值功能)。

 

DEMO效果

做了个简单的DEMO供大家参考,如需修改源代码请注意保留原作者的版权信息。效果截图如下: 

效果图

如下代码演示了控件的使用方式:

protected void Page_Load(object sender, EventArgs e)
{
        if (!IsPostBack)
        {
            //客户端事件
            this.txtID.Attributes.Add("onclick", "displayCalendar(document.getElementById('" + this.txtID.ClientID + "'),'yyyy-mm-dd',this);");
            //默认值
            this.txtID.Text = DateTime.Now.ToString("yyyy-MM-dd");
            //只读属性
            this.txtID.Attributes.Add("readonly", "true");
        }
}

 

DEMO下载

点击下载DEMO

 

<全文完>

 

posted @ 2010-06-13 16:08  吴 剑  阅读(6100)  评论(18编辑  收藏  举报
@2010-2017 WuJian, All Rights Reserved.