多浏览器兼容的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下载
<全文完>
作者:吴剑
出处:http://www.cnblogs.com/wu-jian/
本文版权归作者和博客园共有,欢迎转载,但必需注明出处,并且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。