先把http://www.alixixi.com/Dev/HTML/jsrun/times/2007/2007052953617.html里的那段代码保存成calendar.htm文件。
然后在别的要调用日历的文件里面使用calendar.htm.譬如input框可以这么写:
实现的效果是:在文本框上面点击,弹出日历框,双击一个日期,则当前日期自动填入到文本框中。
showModalDialog参数里面的'dd日mm月yyyy年'是返回到文本框里面的日期格式,可以用别的代替,如'yyyy-mm-dd'.
如果要实现点击其中的一个日期的时候,他能链接到 diray.asp?sj=080402 这样的链接的话,要修改calendar.htm的代码,
找到这段代码:
window.document.attachEvent("ondblclick" ,
function()
{
var obj = window.event.srcElement;
if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" )
{
var mydate = new dataObj(obj.id.split("-")[0] , obj.id.split("-")[1] , obj.id.split("-")[2] );
window.returnValue = mydate.getDateString(userFormatString)
window.close();
}
}
);
把
var mydate = new dataObj(obj.id.split("-")[0] , obj.id.split("-")[1] , obj.id.split("-")[2] );
window.returnValue = mydate.getDateString(userFormatString)
修改为
window.returnValue = obj.id.split('-')[0].slice(2)+('0'+obj.id.split('-')[1]).slice(-2)+('0'+obj.id.split('-')[2]).slice(-2)
然后在调用的页面上面做一个连接:查看日志
如果要把日历控件直接插入到页面中,而不是弹出窗口的话,则修改下面的代码
var mydate = new dataObj(obj.id.split("-")[0] , obj.id.split("-")[1] , obj.id.split("-")[2] );
window.returnValue = mydate.getDateString(userFormatString)
window.close();
为:
window.location='diray.asp?sj='+obj.id.split('-')[0].slice(2)+('0'+obj.id.split('-')[1]).slice(-2)+('0'+obj.id.split('-')[2]).slice(-2);
主要的代码都在"calendar.htm"里面
只不过主页面通过showModalDialog以网页对话框的形式显示了出来
showModalDialog是js的一个函数,具体参数你搜索一下吧
首先先谢谢楼主提供了这么好的一个网站!!!谢谢。
第二,这个问题嘛,也可以在你说的这个网站上找到解决方法哦,比如:http://www.alixixi.com/Dev/HTML/jsrun/times/2007/2007081473081.html
呵呵,这个就很好,自己稍加修改即可。
用飞雪万年历啊.