You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.9 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//日记wst修改
//1.修正日历显示位置
document.write('<iframe id=CalFrame name=CalFrame frameborder=0 src=/js/calendar.htm style=display:none;position:absolute;z-index:101></iframe>');
document.onclick=hideCalendar;
function showCalendar(sImg,bOpenBound,sFld1,sNextP,sNextD,sStartD,sEndD,sVD,sOE,sVDE,sOT,s3F,sFld2,sCallback,sNextVDE)
{
//1.sImg日历弹出位置的控件的名称,
//2.bOpenBound,
//3.sFld1取得日期的控件名称,
//4.sNextP选取日期后新日历弹出的位置的控件名称,可不输入,
//5.sNextD选取日期后新日历弹出从中取值的控件名称,可不输入[这个应该是新日历选择后的日期控件,也从些控件取值]
//6.sStartD开始有效时间,
//7.sEndD截至有效时间,
//8.sVD周几有效,例如:'1,3,5',注意星期日应输入'0'
//9.sOE,单双日有效,'0'表示双日,'1'表示单日
//10.sVDE特殊日期,例如'2004-10-11,2004-11-20,',最后一定要输入','
//11.sOT如果是直接在文本框中点击'text',
//12.s3F下一个日历弹出并选择后点取日期后定位到新的控件
//13.sFld2,弹出日历默认日期
//14.sCallback
//15.sNextVDE 下一次焦点的有效时间.
var fld1,fld2;
var cf=document.getElementById("CalFrame");
var wcf=window.frames.CalFrame;
var oImg=document.getElementById(sImg);
if(!oImg){alert("控制对象不存在!");return;}
if(!sFld1){alert("输入控件未指定!");return;}
fld1=document.getElementById(sFld1);
if(!fld1){alert("输入控件不存在!");return;}
if(fld1.tagName!="INPUT"||fld1.type!="text"){alert("输入控件类型错误!");return;}
if(sFld2)
{
fld2=document.getElementById(sFld2);
if(!fld2){alert("参考控件不存在!");return;}
if(fld2.tagName!="INPUT"||(fld2.type!="text"&&fld2.type!="hidden")){alert("参考控件类型错误!");return;}
}
if(!wcf.bCalLoaded){alert("日历未成功装载!请刷新页面!");return;}
wcf.n_position=sNextP;
wcf.n_textdate=sNextD;
wcf.startdate=sStartD;
wcf.enddate=sEndD;
wcf.vailidday=sVD;
wcf.oddeven=sOE;
wcf.vailiddate=sVDE;
wcf.nextvailiddate = sNextVDE;
wcf.objecttype=sOT;
wcf.thirdfocus=s3F;
if(cf.style.display=="block"){cf.style.display="none";return;}
fld1.select();
var eT=0,eL=0,p=oImg;
var sT=document.body.scrollTop,sL=document.body.scrollLeft;
var eH=oImg.height,eW=oImg.width;
while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
if(sOT=="text")
{
cf.style.top=((document.body.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH+20:eT-cf.height) + "px";
}
else
{
cf.style.top=((document.body.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH:eT-cf.height) + "px";
}
cf.style.left=((document.body.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width) + "px";
cf.style.display="block";
wcf.openbound=bOpenBound;
wcf.fld1=fld1;
wcf.fld2=fld2;
wcf.callback=sCallback;
wcf.initCalendar();
}
function hideCalendar()
{
var cf=document.getElementById("CalFrame");
cf.style.display="none";
}