ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
一个纯脚本写的日期控件

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

使用的是一个img作为按钮,一个iframe载入日期页面
<IMG id="ImgDate" style="LEFT: 137px; CURSOR: hand; POSITION: absolute; TOP: 1px" onclick="SetlstDate1Visible('TxtDate')" src="images/ImgBtn/frmMainDate.gif" width="21">

<IFRAME class="dtpMonth1" id="lstDate1" style="DISPLAY: none; Z-INDEX: 105; LEFT: 112px; WIDTH: 176px; POSITION: absolute; TOP: 152px; HEIGHT: 160px"
   tabIndex="-1" name="lstDate1" src="frmDate.aspx" frameBorder="0" scrolling="no">
  </IFRAME>

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="frmDate.aspx.vb" Inherits="MOST_WEB.frmDate"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <title>dtpDate1</title>
  <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
  <meta content="Microsoft Visual Studio .NET 7.0" name="GENERATOR">
  <meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  <LINK href="Styles.css" type="text/css" rel="stylesheet">
  <script language="javascript" src="comFuncs.js"></script>
  <script language="JavaScript">
   function RunNian(The_Year)//取得是否為潤年
   {
    if ((The_Year%400==0) || ((The_Year%4==0) && (The_Year%100!=0)))
     return true;
    else
     return false;
   }
   
   function GetWeekday(The_Year,The_Month)
   {
   
    var Allday;
    Allday = 0;
    if (The_Year>2000)
    {
     for (i=2000 ;i<The_Year; i++) //計算從2000年開始到今年的天數
     {
      if (RunNian(i)){
       Allday += 366;
      }else{
       Allday += 365;
      }
     }
     
     for (i=2; i<=The_Month; i++)
     {
      switch (i)
      { 
       case 2 :  Allday += 31; break;
       case 3 :
         if (RunNian(The_Year)){
          Allday += 29;
         }else{
          Allday += 28;
         }
         break;
       case 4 : Allday += 31; break;
       case 5 : Allday += 30; break;
       case 6 : Allday += 31; break;
       case 7 : Allday += 30; break;
       case 8 : Allday += 31; break;
       case 9 : Allday += 31; break;
       case 10 : Allday += 30; break;
       case 11 : Allday += 31; break;
       case 12 : Allday += 30; break;
      }
     }
    }
    return (Allday+6)%7;
   }

   function chooseday(objName,The_Year,The_Month,The_Day)
   {
    var Firstday;
    Firstday = GetWeekday(The_Year,The_Month);//取得星期幾
    ShowCalender(objName,The_Year,The_Month,The_Day);
   }
   
   function showdate(objName,The_Year,The_Month,The_Day){//顯示日期,將所選的日期傳到textbox中顯示出來
    var txtDate;
    objName="TxtDate";
    txtDate= objName;

    var completely_date;
    var cur_Month
    var cur_Day
    if (The_Month.toString().length==1){//給月前面加0
     cur_Month="0"+The_Month
    }else{
     cur_Month=The_Month
    }
    if (The_Day.toString().length==1){//給日期前加0
     cur_Day="0"+The_Day
    }else{
     cur_Day=The_Day
    }
    if (The_Day!=0)//調整日期的樣式
     completely_date = The_Year + "/" + cur_Month + "/" + cur_Day;
    else
     completely_date = "No Choose";

    parent.document.all(txtDate).innerText = completely_date;//顯示給textbox
   }
   
   function nextmonth(objName,The_Year,The_Month,The_Day)//選擇下個月
   {
    if (The_Month==12)
     chooseday(objName,The_Year+1,1,The_Day);
    else
     chooseday(objName,The_Year,The_Month+1,The_Day);
   }

   function prevmonth(objName,The_Year,The_Month,The_Day)//選擇上一月
   {
    if (The_Month==1)
     chooseday(objName,The_Year-1,12,The_Day);
    else
     chooseday(objName,The_Year,The_Month-1,The_Day);
   }
   function closeself(){
    top.document.frames(1).document.frames(1).ObjLostFocus();
   }
   function ShowCalender(objName,The_Year,The_Month,The_Day)//
   {
    var Firstday=GetWeekday(The_Year,The_Month);
    var showstr;
    var Month_Day;  //顯示月的天數
    var ShowMonth;  //顯示月
    var today;   //當前天
    var k=0
    today = new Date();
    switch (The_Month)//根據月來確定天數
    {
     case 1 : ShowMonth = "01"; Month_Day = 31; break;
     case 2 :
         ShowMonth = "02";
         if (RunNian(The_Year))
          Month_Day = 29;
         else
          Month_Day = 28;
         break;
     case 3 : ShowMonth = "03"; Month_Day = 31; break;
     case 4 : ShowMonth = "04"; Month_Day = 30; break;
     case 5 : ShowMonth = "05"; Month_Day = 31; break;
     case 6 : ShowMonth = "06"; Month_Day = 30; break;
     case 7 : ShowMonth = "07"; Month_Day = 31; break;
     case 8 : ShowMonth = "08"; Month_Day = 31; break;
     case 9 : ShowMonth = "09"; Month_Day = 30; break;
     case 10 : ShowMonth = "10"; Month_Day = 31; break;
     case 11 : ShowMonth = "11"; Month_Day = 30; break;
     case 12 : ShowMonth = "12"; Month_Day = 31; break;
    }
    showstr = "";//葉面的樣式
    showstr = "<Table class=calender HEIGHT=100% width=100% cellpadding=0 cellspacing=0 border=0 bordercolor=red align=center valign=top>";
    showstr +=  "<tr height=20 class='title1'><td colspan=6>期日を選ぶ</td><td align=right><IMG style='CURSOR: hand' onclick='closeself()' height='15' src='./images/imgbtn/close.gif' width='15'></td></tr>";
    showstr +=  "<tr height=20 class='title2'><td width=3><img style='cursor:hand' src='./images/imgbtn/btnLeft.gif' onclick=prevmonth('" + objName + "',"+The_Year+","+The_Month+","+The_Day+")></td><td align=left colspan=5>" + The_Year + "年"+ShowMonth+"月"+"</td><td align=right width=30 ><img style='cursor:hand' onclick=nextmonth('" + objName + "',"+The_Year+","+The_Month+","+The_Day+") src='./images/imgbtn/btnRight.gif'></td></tr>";
    showstr +=  "<tr><td align=center width=100% colspan=7>";
    showstr +=  "<table cellpadding=0 cellspacing=0 border=0 bordercolor=#999999 width=100%>";
    showstr += "<Tr align=center class='title3'> ";
    showstr += "<td class=sun>日</td>";
    showstr += "<td>月</td>";
    showstr += "<td>火</td>";
    showstr += "<td>水</td>";
    showstr += "<td>木</td>";
    showstr += "<td>金</td>";
    showstr += "<td class=sat>土</td>";
    
    showstr += "</Tr><tr>";         //上面是設置完成日期的頭部
    k=k+1;
    for (i=1; i<=Firstday; i++)        //Firstday傳過來的當前月第一天是星期幾
    {
     showstr += "<Td align=center class=day>&nbsp;</Td>"; //將前面的天數置空
    }
    if(The_Day>Month_Day)
    {
     The_Day=Month_Day;         //用選擇的天The_Day和當前月天數Month_Day比較
    }
    for (i=1; i<=Month_Day; i++)
    {
     if (The_Day==i){
      bgColor = "dayselected";
     }else{
      bgColor = "day";
     }

     if ((The_Year==today.getYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate())){
      showstr += "<td align=center class=" + bgColor + " style='CURSOR: hand;BACKGROUND-POSITION: center center;BACKGROUND-REPEAT: no-repeat;BACKGROUND-IMAGE: url(./Images/imgbtn/date.gif);' onclick=chooseday('" + objName + "'," + The_Year + "," + The_Month + "," + i + ")>" + i ;
     }else{
      showstr += "<td align=center class=" + bgColor + " style='cursor:hand' onclick=chooseday('" + objName + "'," + The_Year + "," + The_Month + "," + i + ")>" + i ;
     }
     showstr += "</td>";

     Firstday = (Firstday + 1)%7;
     if ((Firstday==0) && (i!=Month_Day)) {
      showstr += "</tr><tr>";
      k=k+1;
     }
    }

    if (Firstday!=0) //Firstday傳過來的當前月第一天是星期幾
    {
     for (i=Firstday; i<7; i++)
     showstr += "<td align=center class=day>&nbsp;</td>";
     showstr += "</tr>";
    }
    showstr += "</tr><tr>"
    if (k==5){
     showstr += "<td colspan=7 class=day>&nbsp</td></tr><tr>"; 
    }

    var curMonth;
    var curDay;
    if ((today.getMonth()+1).toString().length==1){
     curMonth="0"+(today.getMonth()+1);
    }else{
     curMonth=(today.getMonth()+1);
    }
    if (today.getDate().toString().length==1){
     curDay="0"+today.getDate();
    }else{
     curDay=today.getDate();
    }
    showstr +="<td class='title4' colspan=2><img src='./Images/imgbtn/date.gif'></td><td align=left colspan=5 class='title4' style='CURSOR: hand;' onclick=getDtpDate('');>&nbsp 今日:"+today.getYear()+"/"+curMonth+"/"+curDay+"</td>"
    showstr += "</tr></table></td></tr></table>";
    document.all(objName).innerHTML= showstr;
    showdate("txtFrom",The_Year,The_Month,The_Day)
   }

   function getDtpDate(strDate){
    today = new Date();
    if (!DcheckDate(strDate,"yyyy/mm/dd")){
     The_Year = today.getYear();
     The_Month = today.getMonth() + 1;
     The_Day = today.getDate();
     Firstday = GetWeekday(The_Year,The_Month);
    }else{
     var curday=new Date(strDate)
     The_Year = curday.getYear();
     The_Month = curday.getMonth() + 1;
     The_Day = curday.getDate();
     Firstday = GetWeekday(The_Year,The_Month);
    }
    ShowCalender("Date1",The_Year,The_Month,The_Day);
   }
  </script>
 </HEAD>
 <body>
  <form id="Form1" method="post">
   <TABLE style="LEFT: 0px; POSITION: absolute; TOP: 0px" cellSpacing="0" cellPadding="0"
    border="0">
    <TR>
     <TD id="Date1"><FONT face="MS UI Gothic"></FONT></TD>
    </TR>
   </TABLE>
   </form>
   
 </body>
</HTML>




相关文章

相关软件