日期控件

calendar.htm

/*

<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TD {
 FONT-SIZE: 12px; FONT-FAMILY: arial; TEXT-ALIGN: center
}
TD.dt {
 FONT-SIZE: 11px; FONT-FAMILY: arial; TEXT-ALIGN: center
}
A {
 COLOR: blue
}
A:hover {
 COLOR: red
}
A.bt {
 COLOR: #888888
}

body
{
    overflow-x:hidden;
    overflow-y:hidden;
 margin-left: 0px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 0px;
}

</STYLE>

<SCRIPT language=javascript>
<!--//
var str='',i,j,yy,mm,openbound,callback,dd;
var fld1,fld2;
var wp=window.parent;
var cf=wp.document.getElementById("CalFrame");
var fld,curday,today=new Date();
today.setHours(0);today.setMinutes(0);today.setSeconds(0);today.setMilliseconds(0);
//var lastyear=today.getYear(),lastmonth=today.getMonth();
function parseDate(s)
{
 var reg=new RegExp("[^0-9-]","")
 if(s.search(reg)>=0)return today;
 var ss=s.split("-");
 if(ss.length!=3)return today;
 if(isNaN(ss[0])||isNaN(ss[1])||isNaN(ss[2]))return today;
 return new Date(parseFloat(ss[0]),parseFloat(ss[1])-1,parseFloat(ss[2]));
}

function resizeCalendar()
{
    //初始化年
    for(i=1910; i<2050; i++)
    {
        var objOption = document.createElement("OPTION");
        objOption.text =  i;
        objOption.value = i;
        document.all.selYear.add(objOption);
    }  
   
    cf.width=220;
    cf.height=198;
}


function initCalendar()
{
 if(fld1&&fld1.value.length>0){curday=parseDate(fld1.value);}
 else if(fld2&&fld2.value.length>0){curday=parseDate(fld2.value);}
 else curday=today;
 drawCalendar(curday.getFullYear(),curday.getMonth());
 dd = curday.getDate()
 
    document.all.selYear.value = yy;
    document.all.selMonth.value = mm;
}

function selectChange(sYY,sMM)
{
    if(dd == 31) dd=30;
    fld1 = sYY + "-" + sMM + "-" + dd
    alert(fld1);
    initCalendar();
}

function drawCalendar(y,m)
{
 document.all.selYear.value = y;
 document.all.selMonth.value = m;
 
 var x=new Date(y,m,1),mv=x.getDay(),d=x.getDate(),de;
 yy=x.getFullYear();mm=x.getMonth();
 
 
 //todo:
 //document.getElementById("yyyymm").innerHTML=yy+"."+(mm+1>9?mm+1:"0"+(mm+1));
 
 
 for(var i=1;i<=mv;i++)
 {
  de=document.getElementById("d"+i);
  de.innerHTML="";
  de.bgColor="";
 }
 while(x.getMonth()==mm)
 {
  de=document.getElementById("d"+(d+mv));
  if(x.getTime()==curday.getTime())
   de.bgColor="#dddddd";
  else
   de.bgColor="white";
  if(x.getTime()==today.getTime())
   de.innerHTML="<a href=javascript:setDate("+d+");><font color=red>"+d+"</font></a>";
  else if(x.getTime()<today.getTime())
   if(openbound){de.innerHTML="<a href=javascript:setDate("+d+"); class=bt>"+d+"</a>";}
   else{
   //de.innerHTML="<font color=#888888>"+d+"</font>";
   de.innerHTML="<a href=javascript:setDate("+d+"); class=bt>"+d+"</a>";
   }
  else
   de.innerHTML="<a href=javascript:setDate("+d+");>"+d+"</a>";
  x.setDate(++d);
 }
 while(d+mv<=42)
 {
  de=document.getElementById("d"+(d+mv));
  de.innerHTML="";
  de.bgColor="";
  d++;
 }
}
function setDate(d,type)
{
 //var dstr = yy + "-" + (mm+1) + "-" + d;
 var dstr = document.all.selYear.value + "-" + (parseInt(document.all.selMonth.value) + 1) + "-" + d;
 
 if(callback&&callback.length>0){eval("wp."+callback+"(/""+dstr+"/")");}
 else{fld1.value=dstr;}
 wp.hideCalendar();
 if(document.form.type.value==1)
 {
  IfReadDaily();
 }
}
function IfReadDaily()
{
 var times=parent.form_DailyPlan.Dailytime.value;
 var URL="../AC_DailyPlan/IfReadDaily.asp?Times="+times+"&sid="+Math.random();
 GETInfo(URL);
}
function GETInfo(url_g)
{
 URL_S=url_g;
 if (window.XMLHttpRequest)
  {
               xmlHttp = new XMLHttpRequest();
       }
 else if (window.ActiveXObject)
  {
               xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
       }
 if (xmlHttp)
 {
 xmlHttp.open("GET",URL_S,true);
 xmlHttp.send(null);
 }
 if (xmlHttp.readyState==4)
   {
    if(xmlHttp.responseText=="true")
    {
    alert("你已经填写过这天的日计划了");
    parent.form_DailyPlan.Dailytime.value="";
    }
    clearInterval(refalsh);
   }
   else
   {
   refalsh=setInterval('GETInfo(URL_S)',0);
   }
}
//-->
</SCRIPT>

<META content="MSHTML 6.00.2800.1458" name=GENERATOR></HEAD>
<BODY bottomMargin=0  leftMargin=0 topMargin=0
onload=resizeCalendar(); rightMargin=0>
<form name="form">
<TABLE id=tbl0 cellSpacing=0 cellPadding=1 bgColor=#336699 border=0>
    <TBODY>
        <TR>
            <TD>
                <TABLE cellSpacing=1 cellPadding=2 width="100%" bgColor=white border=0>
                    <TBODY>
                    <TR bgColor=gray>
                        <TD id=prev width=16>
                            <a href="javascript:drawCalendar(yy-1,mm);">
                                <IMG height=16 src="/calendar_prev.gif" width=16 border=0 alt="上一年">
                            </A>
                        </TD>
                       
                        <TD id=TD2 width=16>
                            <a href="javascript:drawCalendar(yy+1,mm);">
                                <IMG height=16 src="/calendar_next.gif" width=16 border=0 alt="下一年">
                            </A>
                        </TD>
                       
                        <TD id=yyyymm style="FONT-SIZE: 11px; COLOR: white" width="99%">
                       
                        <select id="selYear" name="selYear" onchange="javascript:drawCalendar(parseInt(document.all.selYear.value),mm);" size="1">
             
            </select>
           
            <select id="selMonth" name="selMonth" onchange="javascript:drawCalendar(yy,parseInt(document.all.selMonth.value));" size="1">
              <option value="0">一</option>
              <option value="1">二</option>
              <option value="2">三</option>
              <option value="3">四</option>
              <option value="4">五</option>
              <option value="5">六</option>
              <option value="6">七</option>
              <option value="7">八</option>
              <option value="8">九</option>
              <option value="9">十</option>
              <option value="10">十一</option>
              <option value="11">十二</option>
            </select>
                        <TD id=TD1 width=16>
                            <a href="javascript:drawCalendar(yy,mm-1);">
                                <IMG height=16 src="/calendar_prev.gif" width=16 border=0 alt="上一月">
                            </A>
                        </TD>
                       
                        </TD>
                        <TD id=next width=16>
                            <a href="javascript:drawCalendar(yy,mm+1);">
                                <IMG height=16 src="/calendar_next.gif" width=16 border=0 alt="下一月">
                            </A>
                        </TD>
                       
                    </TR>
                    </TBODY>
                </TABLE>
               
                <TABLE cellSpacing=2 cellPadding=0 width=100% bgColor=white border=0>
                <TBODY>
                    <TR height=18>
                        <TD width=18><FONT color=red>日</FONT></TD>
                        <TD width=18>一</TD>
                        <TD width=18>二</TD>
                        <TD width=18>三</TD>
                        <TD width=18>四</TD>
                        <TD width=18>五</TD>
                        <TD width=18><FONT color=green>六</FONT></TD>
                    </TR>
                    <TR height=1>
                        <TD bgColor=gray colSpan=7></TD>
                    </TR>
<SCRIPT language=javascript>
<!--//
for(i=0; i<6; i++)
{
 str += "<tr height=18>";
 for(j=1; j<=7; j++)
     str += "<td id=d" + (i * 7 + j) + " class=dt></td>";
 str += "</tr>";
}
document.write(str);
//-->
</SCRIPT>

        <TR height=1>
          <TD bgColor=gray colSpan=7></TD></TR>
        <TR height=18>
          <TD colSpan=7><a
          href="javascript:wp.hideCalendar();">关闭</FONT></A><input name="type" type="hidden" value=0 >
    </TD>
  </TR>
    </TBODY></TABLE></TD></TR></TBODY></TABLE></form>
<SCRIPT language=javascript>
<!--//
var bCalLoaded=true;
//-->
</SCRIPT>
</BODY></HTML>

*/

 

 

calendar.js

/*

document.write("<iframe id=CalFrame name=CalFrame frameborder=0 src='/calendar/calendar.htm' style=display:none;position:absolute;z-index:100;width:203px;></iframe>");
document.onclick=hideCalendar;

function showCalendar(sImg,bOpenBound,sFld1,sFld2,sCallback,type)
{
 //alert("aa");
 var fld1,fld2;
 var cf=document.getElementById("CalFrame");
 //alert(cf);
 var wcf=window.frames.CalFrame;
 var oImg=document.getElementById(sImg);
 var typeID=type;
 if(!oImg){alert("控制对象不存在!");return;}
 if(!sFld1){alert("输入控件未指定!");return;}
 var mBody;
    var mT = 0; 
   
 mBody = document.getElementById('ContentBody');
    if(mBody){ mT = mBody.scrollTop;}

  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"){alert("参考控件类型错误!");return;}
 }
 if(!wcf.bCalLoaded){alert("日历未成功装载!请刷新页面!");return;}
 if(cf.style.display=="block"){cf.style.display="none";return;}
 
 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;}
 cf.style.top=(document.body.clientHeight-(eT-sT-mT)-eH>=cf.height)?eT+eH-mT:eT-cf.height-mT;
 
 cf.style.left=(document.body.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width;
 cf.style.display="block";

 wcf.openbound=bOpenBound;
 wcf.fld1=fld1;
 wcf.fld2=fld2;
 wcf.callback=sCallback;
 wcf.form.type.value=typeID;
 wcf.initCalendar();
 //alert("bbbb");
 
}
function hideCalendar()
{
 var cf=document.getElementById("CalFrame");
 cf.style.display="none";
}

*/

调用函数:

 <a href="javascript:showCalendar('imgid',boleOpenBound,tbxid1,tbxid2,Callback,type);">
 <img id="'imgid'" border="0" src="*.gif"></a>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值