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;
}
//日期类扩展函数结束//
//////////////////////
...全文
282 61 打赏 收藏 转发到动态 举报
写回复
用AI写文章
61 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
收藏
加载更多回复(41)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧