最精致的日历式日期输入控件 (Smart Ver 1.00)[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 chenfei00 的 blog

<!-- 最精致的日历式日期输入控件 (smart ver 1.00) -->
<html>
<head>
<title>最精致的日历式日期输入控件 (smart ver 1.00)</title>
</head>
<style>
body
{
 font-size:12px;
 font-family:"tahoma";
}
td
{
 font-size:12px;
 font-family:"tahoma";
}
.inputdate
{
 border:1px solid #7287c6;
 text-align: center;
 font-size: 12px;
 font-style: normal;
 height: 16px;
}
</style>

<script language="javascript">
<!--
/********************************************************************
时间:2004-01-01
作者:smart
功能:日历式日期选择控件
 
参数:
说明:
1.输入框直接调用用以下代码
<script>datebox("inputname","datevalue")<\/script>
其中:inputname 为输入日期的文本框.注:不能为空.
       datevalue  为输入日期的文本框默认日期值.格式为:yyyy-mm-dd.如2004-01-01
                       此值可以不填或为空.则默认值为当天日期.(客户端)
2.其它"按钮"调用用以下代码
calldate("inputname")
其中:inputname 为输入日期的文本框.注:不能为空.

修改区

时间:
修改人:
原因:

********************************************************************/
/*基本参数*/
var frw=106; //日历宽度
var frh=137; //日历高度
var frs=4;     //影子大小
var hid=true;//日历是否打开
/*创建框架*/
document.writeln('<div id=calendar author=smart  scrolling="no" frameborder=0 style="border:0px solid #eeeeee ;position: absolute; width: '+frw+'; height: '+frh+'; z-index: 0; filter :\'progid:dximagetransform.microsoft.shadow(direction=135,color=#aaaaaa,strength='+frs+')\' ;display: none"></div>');
/*取得今日日期*/
function gettodaydate()
{
   today= new date();
   y= today.getyear();
   m= (today.getmonth() + 1);
   if (m<10)
   {
     m='0'+m;
   }
   d= today.getdate();
   if (d<10)
   {
     d='0'+d;
   }
return y+'-'+m+'-'+d
}
/*输入今天日期*/
function settodaydate(inputbox)
{
  hiddencalendar();
  inputbox.value=gettodaydate();
}
/*取某年某月第一天的星期值(月份-1)*/
function getfirstweek(the_year,the_month)
{
  return (new date(the_year,the_month-1,1)).getday()
}
/*取某年某月中总天数*/
function getthisdays(the_year,the_month)
{
  return (new date(the_year,the_month,0)).getdate()
}
/*取某年某月上个月中总天数*/
function getlastdays(the_year,the_month)
{
  return (new date(the_year,the_month-1,0)).getdate()
}
/*判断是否是闰年*/
function runnian(the_year)
{
 if ((the_year%400==0) || ((the_year%4==0) && (the_year%100!=0)))
  return true;
 else
  return false;
}
/* 判断日期(yyyy-mm-dd)的日期是否正确 */
function dateistrue(asdate){
 var lsdate  = asdate + "";
 var lodate  = lsdate.split("-");
 if (lodate.length!=3) return false;
 var liyear  = parsefloat(lodate[0]);
 var limonth = parsefloat(lodate[1]);
 var liday   = parsefloat(lodate[2]);
 if ((lodate[0].length>4)||(lodate[1].length>2)||(lodate[2].length>2)) return false;
 if (isnan(liyear)||isnan(limonth)||isnan(liday)) return false;
 if ((liyear<1800)||(liyear>2500)) return false;
 if ((limonth>12)||(limonth<=0))   return false;
 if (getthisdays(liyear,limonth)<liday) return false;
 return !isnan(date.utc(liyear,limonth,liday));
}
/*取某年某月的周值*/
function getcountweeks(the_year,the_month)
{
 var allday;
 allday = 0;
 if (the_year>2000)
 {
 
  for (i=2000 ;i<the_year; i++)
   if (runnian(i))
    allday += 366;
   else
    allday += 365;
  for (i=2; i<=the_month; i++)
  {
   switch (i)
   {
      case 2 :
       if (runnian(the_year))
        allday += 29;
       else
        allday += 28;
       break;
      case 3 : allday += 31; break;
      case 4 : allday += 30; break;
      case 5 : allday += 31; break;
      case 6 : allday += 30; break;
      case 7 : allday += 31; break;
      case 8 : allday += 31; break;
      case 9 : allday += 30; break;
      case 10 : allday += 31; break;

本文关键:日历
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top