htc日历再贴

yonghengdizhen 2004-03-27 11:45:49
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="Init()"/>
<PUBLIC:PROPERTY PUT="setDate" NAME="DateValue" />
<PUBLIC:PROPERTY PUT="setYear" NAME="Year" />
<PUBLIC:PROPERTY PUT="setMonth" NAME="Month" />
<PUBLIC:PROPERTY PUT="setDay" NAME="Day" />
<PUBLIC:PROPERTY GET="getDate" NAME="DateValue" />
<PUBLIC:PROPERTY PUT="setDateFormat" NAME="DateFormat" />
<PUBLIC:PROPERTY PUT="setMessageText" NAME="MessageText" />
<PUBLIC:PROPERTY PUT="setTimeBreak" NAME="TimeBreak" />
<PUBLIC:PROPERTY PUT="setAllowNull" NAME="AllowNull" />
<PUBLIC:PROPERTY PUT="setRelated" NAME="Related" />
<PUBLIC:EVENT NAME="ondatechange" ID="eventID" />
<PUBLIC:ATTACH EVENT="ondatechange" ONEVENT="ResetDateTable()"/>
<SCRIPT LANGUAGE="javascript">
var cl_dpMaxYear=9999;
var cl_dpMaxMonth=11;
var cl_dpMaxDay=31;
var cl_dpMinYear=1600;
var cl_dpMinMonth=0;
var cl_dpMinDay=1;
var oDatePicker;
var oDateObject=new Date();
var oOldDateObject=new Date();
var oInputCtrl;
var oYearInput;
var oMonthInput;
var oDayInput;
var oDateIframe;
var oEvent;
var theName=""
var vt_lastState="";
var vt_dpFormat="yyyy/mm/dd";
var vt_MessageText="";
var bTimeBreak=false;
var bRelated=false;
var bAllowNull=false;
//Init();

///////////////////////////////////////////////////////////////////////////////////
///////////////////////HTC版日历,适用于IE 5.0以上版浏览器//////////////////////////
//为了使下拉日历表正确定位,请将绑定元素使用独立容器存放,例如使用两个不同的单元格///
///////////////////////////////////////////////////////////////////////////////////
function ResetDateTable()
{
//注意,此处不能再次调用设置绑定对象的任何方法,否则产生事件递归触发导致堆栈溢出
//此事件也可放在被绑定元素的HTML中触发.
//lStep=event.result;
}
function setDate(vValue)
{
oDateObject=date_getDateFromVT_DATE(vValue);
}
function setYear(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getFullYear()!=parseInt(vValue))
{
oDateObject.setFullYear(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
dp_onDateChange();
}
}
}
function setMonth(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getMonth()+1!=parseInt(vValue))
{
oDateObject.setMonth(parseInt(vValue)-1);
window.frames[theName].CurrentDate=oDateObject.clone();
dp_onDateChange();
}
}
}
function setDay(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getDate()!=parseInt(vValue))
{
oDateObject.setDate(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
dp_onDateChange();
}
}
}
function setDateFormat(vValue)
{
if(vValue!="")
{
vt_dpFormat=vValue.replace(/-/g,"/");
}
}
function setMessageText(vValue)
{
if(vValue!="")
{
vt_MessageText=vValue;
}
}
function setTimeBreak(vValue)
{
bTimeBreak=true;
}
function setRelated(vValue)
{
bRelated=true;
}
function setAllowNull(vValue)
{
bAllowNull=true;
}
function getDate()
{
return oDateObject;
}
//公用函数开始
function KeyFilter(type)
{
event.returnValue=(event.keyCode>=48 && event.keyCode<=57)
}
function getOffsetLeft(src)
{
var set=0;
if(src)
{
if (src.offsetParent)
set+=src.offsetLeft+getOffsetLeft(src.offsetParent);

if(src.tagName!="BODY")
{
var x=parseInt(src.scrollLeft,10);
if(!isNaN(x))
set-=x;
}
}
return set;
}
function getOffsetTop(src)
{
var set=0;
if(src)
{
if (src.offsetParent)
set+=src.offsetTop+getOffsetTop(src.offsetParent);

if(src.tagName!="BODY")
{
var y=parseInt(src.scrollTop,10);
if(!isNaN(y))
set-=y;
}
}
return set;
}
//////////////////////
//日期类扩展函数开始//
function date_format(sFormat)
{
var dt=this;
if(sFormat==null || typeof(sFormat)!="string")
sFormat="";
sFormat=sFormat.replace(/yyyy/ig,dt.getFullYear());
sFormat=sFormat.replace(/mm/ig,dt.getMonth()+1);
sFormat=sFormat.replace(/dd/ig,dt.getDate());
sFormat=sFormat.replace(/hh/ig,dt.getHours());
sFormat=sFormat.replace(/mi/ig,dt.getMinutes());
sFormat=sFormat.replace(/ss/ig,dt.getSeconds());
return sFormat;
}
function date_clone()
{
return new Date(this.getFullYear(),this.getMonth(),this.getDate());
}
function date_compare(dtCompare)
{
var dt=this;
var hr=0;
if(dt && dtCompare)
{
if(dt.getFullYear()>dtCompare.getFullYear())
hr=1;
else if(dt.getFullYear()<dtCompare.getFullYear())
hr=-1;
else if(dt.getMonth()>dtCompare.getMonth())
hr=1;
else if(dt.getMonth()<dtCompare.getMonth())
hr=-1;
else if(dt.getDate()>dtCompare.getDate())
hr=1;
else if(dt.getDate()<dtCompare.getDate())
hr=-1;
}
return hr;
}
function date_getDateFromVT_DATE(dt)
{
dt=dt.replace(/-/g,"/");
dt=Date.parse(dt);
if(isNaN(dt))
dt=null;
else
dt=new Date(dt);
return dt;
}
function initDateObject()
{
Date.prototype.compare=date_compare;
Date.prototype.clone=date_clone;
Date.prototype.format=date_format;
}
//日期类扩展函数结束//
//////////////////////
...全文
240 点赞 收藏 61
写回复
61 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
genuis 2004-09-06
mark
回复
ltayo 2004-07-08
学习,收藏
回复
nchen123 2004-07-08
呵呵,你怎么翻旧贴了 :)
这个帖子是挺好的
回复
dsclub 2004-07-08
这个好贴应该上去,再让更多的朋友看到!!!



还有,最终的版本好了么?
回复
lovewangshu 2004-04-04
谢谢楼主,收藏
回复
denoxo 2004-04-03
发现有一bug,当你选了3月31日后,再选4月1日,就会变成5月1日
回复
hongmaohouzi 2004-04-03
好东东,收藏起来!
回复
coollele 2004-04-03
在哪可以看到演示吗?能不能发给我一份啊。coollele@163.com 谢谢!!
回复
denoxo 2004-04-02
哪位能指导一下如何改成单击关闭啊
回复
cyaudit 2004-04-02
整理好了吗?我可以提供空间下载。
回复
PeterMCT 2004-04-02
ding
回复
flashasp 2004-04-01
^_^
回复
ymeik 2004-04-01
到现在才看到
楼主如果有最新的可以下载,一定要告诉我呀 ^_^
回复
delphine 2004-04-01
可以顶!
回复
cqhz 2004-04-01
我也要!
回复
nbbg 2004-04-01
关注............
回复
空闲独处 2004-04-01
收藏
回复
AspDelphi 2004-04-01
谢谢楼主收藏
回复
liyanlover 2004-03-31
谢谢.
回复
jerrycui 2004-03-31
收藏
回复
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-03-27 11:45
社区公告
暂无公告