CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

高分求助!

楼主zma(我爱我老婆)2003-05-03 01:59:46 在 Web 开发 / ASP 提问

我的ASP中,想要在文本输入框中获得焦点时弹出日历菜单选择日期并更新文本框中的内容?  
  我是ASP初学者,请写出相应的代码?非常感谢! 问题点数:100、回复次数:3Top

1 楼fason(咖啡人生)回复于 2003-05-03 02:22:02 得分 100

<html>  
   
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <meta   name="GENERATOR"   content="Microsoft   FrontPage   4.0">  
  <meta   name="ProgId"   content="FrontPage.Editor.Document">  
  <title>开始日期</title>  
  <TITLE></TITLE>  
  <META   content="text/html;   charset=gb2312"   http-equiv=Content-Type>  
  <SCRIPT   language=JavaScript1.2>  
   
  //   一个简单的测试是否IE浏览器的表达式  
  isIE   =   (document.all   ?   true   :   false);  
   
  //   得到IE中各元素真正的位移量,即使这个元素在一个表格中  
  function   getIEPosX(elt)   {   return   getIEPos(elt,"Left");   }  
  function   getIEPosY(elt)   {   return   getIEPos(elt,"Top");   }  
  function   getIEPos(elt,which)   {  
    iPos   =   0  
    while   (elt!=null)   {  
      iPos   +=   elt["offset"   +   which]  
      elt   =   elt.offsetParent  
    }  
    return   iPos  
  }  
   
  function   getXBrowserRef(eltname)   {  
    return   (isIE   ?   document.all[eltname].style   :   document.layers[eltname]);  
  }  
   
  function   hideElement(eltname)   {   getXBrowserRef(eltname).visibility   =   'hidden';   }  
   
  //   按不同的浏览器进行处理元件的位置  
  function   moveBy(elt,deltaX,deltaY)   {  
    if   (isIE)   {  
      elt.left   =   elt.pixelLeft   +   deltaX;  
      elt.top   =   elt.pixelTop   +   deltaY;  
    }   else   {  
      elt.left   +=   deltaX;  
      elt.top   +=   deltaY;  
    }  
  }  
   
  function   toggleVisible(eltname)   {  
    elt   =   getXBrowserRef(eltname);  
    if   (elt.visibility   ==   'visible'   ||   elt.visibility   ==   'show')   {  
        elt.visibility   =   'hidden';  
    }   else   {  
        fixPosition(eltname);  
        elt.visibility   =   'visible';  
    }  
  }  
   
  function   setPosition(elt,positionername,isPlacedUnder)   {  
    positioner   =   null;  
    if   (isIE)   {  
      positioner   =   document.all[positionername];  
      elt.left   =   getIEPosX(positioner);  
      elt.top   =   getIEPosY(positioner);  
    }   else   {  
      positioner   =   document.images[positionername];  
      elt.left   =   positioner.x;  
      elt.top   =   positioner.y;  
    }  
    if   (isPlacedUnder)   {   moveBy(elt,0,positioner.height);   }  
  }  
   
   
   
  //——————————————————————————————————————  
   
                    //   判断浏览器  
                    isIE   =   (document.all   ?   true   :   false);  
   
                    //   初始月份及各月份天数数组  
                    var   months   =   new   Array("一 月",   "二 月",   "三 月",   "四 月",   "五 月",   "六 月",   "七 月",  
    "八 月",   "九 月",   "十 月",   "十一月",   "十二月");  
                    var   daysInMonth   =   new   Array(31,   28,   31,   30,   31,   30,   31,   31,  
                          30,   31,   30,   31);  
    var   displayMonth   =   new   Date().getMonth();  
    var   displayYear   =   new   Date().getFullYear();  
    var   displayDivName;  
    var   displayElement;  
   
                    function   getDays(month,   year)   {  
                          //测试选择的年份是否是润年?  
                          if   (1   ==   month)  
                                return   ((0   ==   year   %   4)   &&   (0   !=   (year   %   100)))   ||  
                                      (0   ==   year   %   400)   ?   29   :   28;  
                          else  
                                return   daysInMonth[month];  
                    }  
   
                    function   getToday()   {  
                          //   得到今天的日期  
                          this.now   =   new   Date();  
                          this.year   =   this.now.getFullYear();  
                          this.month   =   this.now.getMonth();  
                          this.day   =   this.now.getDate();  
                    }  
   
                    //   并显示今天这个月份的日历  
                    today   =   new   getToday();  
   
                    function   newCalendar(eltName,attachedElement)   {  
          if   (attachedElement)   {  
                if   (displayDivName   &&   displayDivName   !=   eltName)   hideElement(displayDivName);  
                displayElement   =   attachedElement;  
          }  
          displayDivName   =   eltName;  
                          today   =   new   getToday();  
                          var   parseYear   =   parseInt(displayYear   +   '');  
                          var   newCal   =   new   Date(parseYear,displayMonth,1);  
                          var   day   =   -1;  
                          var   startDayOfWeek   =   newCal.getDay();  
                          if   ((today.year   ==   newCal.getFullYear())   &&  
                                      (today.month   ==   newCal.getMonth()))  
          {  
                                day   =   today.day;  
                          }  
                          var   intDaysInMonth   =  
                                getDays(newCal.getMonth(),   newCal.getFullYear());  
                          var   daysGrid   =   makeDaysGrid(startDayOfWeek,day,intDaysInMonth,newCal,eltName)  
          if   (isIE)   {  
                var   elt   =   document.all[eltName];  
                elt.innerHTML   =   daysGrid;  
          }   else   {  
                var   elt   =   document.layers[eltName].document;  
                elt.open();  
                elt.write(daysGrid);  
                elt.close();  
          }  
    }  
   
    function   incMonth(delta,eltName)   {  
        displayMonth   +=   delta;  
        if   (displayMonth   >=   12)   {  
            displayMonth   =   0;  
            incYear(1,eltName);  
        }   else   if   (displayMonth   <=   -1)   {  
            displayMonth   =   11;  
            incYear(-1,eltName);  
        }   else   {  
            newCalendar(eltName);  
        }  
    }  
   
    function   incYear(delta,eltName)   {  
        displayYear   =   parseInt(displayYear   +   '')   +   delta;  
        newCalendar(eltName);  
    }  
   
    function   makeDaysGrid(startDay,day,intDaysInMonth,newCal,eltName)   {  
          var   daysGrid;  
          var   month   =   newCal.getMonth();  
          var   year   =   newCal.getFullYear();  
          var   isThisYear   =   (year   ==   new   Date().getFullYear());  
          var   isThisMonth   =   (day   >   -1)  
          daysGrid   =   '<table   border=1   cellspacing=0   cellpadding=2><tr><td   bgcolor=#ffffff   nowrap>';  
          daysGrid   +=   '<font   face="courier   new,   courier"   size=2>';  
          daysGrid   +=   '<a   href="javascript:hideElement(\''   +   eltName   +   '\')">x</a>';  
          daysGrid   +=   '&nbsp;&nbsp;';  
          daysGrid   +=   '<a   href="javascript:incMonth(-1,\''   +   eltName   +   '\')">&laquo;   </a>';  
   
          daysGrid   +=   '<b>';  
          if   (isThisMonth)   {   daysGrid   +=   '<font   color=red>'   +   months[month]   +   '</font>';   }  
          else   {   daysGrid   +=   months[month];   }  
          daysGrid   +=   '</b>';  
   
          daysGrid   +=   '<a   href="javascript:incMonth(1,\''   +   eltName   +   '\')">   &raquo;</a>';  
          daysGrid   +=   '&nbsp;&nbsp;&nbsp;';  
          daysGrid   +=   '<a   href="javascript:incYear(-1,\''   +   eltName   +   '\')">&laquo;   </a>';  
   
          daysGrid   +=   '<b>';  
          if   (isThisYear)   {   daysGrid   +=   '<font   color=red>'   +   year   +   '</font>';   }  
          else   {   daysGrid   +=   ''+year;   }  
          daysGrid   +=   '</b>';  
   
          daysGrid   +=   '<a   href="javascript:incYear(1,\''   +   eltName   +   '\')">   &raquo;</a><br>';  
          daysGrid   +=   '&nbsp;Su   Mo   Tu   We   Th   Fr   Sa&nbsp;<br>&nbsp;';  
          var   dayOfMonthOfFirstSunday   =   (7   -   startDay   +   1);  
          for   (var   intWeek   =   0;   intWeek   <   6;   intWeek++)   {  
                var   dayOfMonth;  
                for   (var   intDay   =   0;   intDay   <   7;   intDay++)   {  
                    dayOfMonth   =   (intWeek   *   7)   +   intDay   +   dayOfMonthOfFirstSunday   -   7;  
    if   (dayOfMonth   <=   0)   {  
                        daysGrid   +=   "&nbsp;&nbsp;   ";  
    }   else   if   (dayOfMonth   <=   intDaysInMonth)   {  
        var   color   =   "blue";  
        if   (day   >   0   &&   day   ==   dayOfMonth)   color="red";  
        daysGrid   +=   '<a   href="javascript:setDay(';  
        daysGrid   +=   dayOfMonth   +   ',\''   +   eltName   +   '\')"   '  
        daysGrid   +=   'style="color:'   +   color   +   '">';  
        var   dayString   =   dayOfMonth   +   "</a>   ";  
        if   (dayString.length   ==   6)   dayString   =   '0'   +   dayString;  
        daysGrid   +=   dayString;  
    }  
                }  
                if   (dayOfMonth   <   intDaysInMonth)   daysGrid   +=   "<br>&nbsp;";  
          }  
          return   daysGrid   +   "</td></tr></table>";  
    }  
   
    function   setDay(day,eltName)   {  
        displayElement.value   =   (displayMonth   +   1)   +   "/"   +   day   +   "/"   +   displayYear;  
        hideElement(eltName);  
    }  
   
   
  //——————————————————————————————————————  
   
  <!--  
  //   fixPosition()   这个函数和前面所讲的那个函数一样  
  //  
  function   fixPosition(eltname)   {  
    elt   =   getXBrowserRef(eltname);  
    positionerImgName   =   eltname   +   'Pos';  
    //   hint:   try   setting   isPlacedUnder   to   false  
    isPlacedUnder   =   false;  
    if   (isPlacedUnder)   {  
      setPosition(elt,positionerImgName,true);  
    }   else   {  
      setPosition(elt,positionerImgName)  
    }  
  }  
   
  function   toggleDatePicker(eltName,formElt)   {  
      var   x   =   formElt.indexOf('.');  
      var   formName   =   formElt.substring(0,x);  
      var   formEltName   =   formElt.substring(x+1);  
      newCalendar(eltName,document.forms[formName].elements[formEltName]);  
      toggleVisible(eltName);  
  }  
   
  //   fixPositions()   这个函数前面也讲过  
  function   fixPositions()  
  {  
    fixPosition('daysOfMonth');  
    fixPosition('daysOfMonth2');  
  }  
   
  //   -->  
  </SCRIPT>  
   
  <META   content="Microsoft   FrontPage   4.0"   name=GENERATOR>  
  </head>  
   
   
  Top

2 楼fason(咖啡人生)回复于 2003-05-03 02:22:16 得分 0

<body   bgColor="#FFFFFF"   onresize="fixPositions()">  
  <P>  
  <FORM   name=date>  
  <CENTER>  
          <TABLE   border=1   width="225">  
              <TBODY>    
              <TR>  
                  <TD   width="89">开始日期:&nbsp;</TD>  
                  <TD   width="120">    
                      <INPUT   name=ret   size=10>  
                      <IMG   align=absMiddle   alt="date   picker"      
              border=0   height=19   id=daysOfMonthPos   name=daysOfMonthPos    
              onmouseup="toggleDatePicker('daysOfMonth','date.ret')"    
              src="tr1010-calendaricon.gif"    
              width=19>    
                      <DIV   id=daysOfMonth   style="POSITION:   absolute"></DIV></TD></TR>  
      <TR>  
                  <TD   width="89">终止日期:&nbsp;</TD>  
                  <TD   width="120">    
                      <INPUT   name=ret2   size=10>  
                      <IMG   align=absMiddle   alt="date   picker"      
              border=0   height=19   id=daysOfMonth2Pos   name=daysOfMonth2Pos    
              onmouseup="toggleDatePicker('daysOfMonth2','date.ret2')"    
              src="tr1010-calendaricon.gif"    
              width=19>    
                      <DIV   id=daysOfMonth2    
  style="POSITION:   absolute"></DIV></TD></TR></TBODY></TABLE></CENTER></FORM>  
  <P>    
      <SCRIPT   language=JavaScript1.2>  
   
  function   Cancel()   {  
                  hideElement("daysOfMonth");  
  }  
   
  </SCRIPT>  
      <SCRIPT   language=JavaScript1.2>    
  <!--  
  hideElement('daysOfMonth');  
  hideElement('daysOfMonth2');  
  //-->  
  </SCRIPT>  
  </P>  
  </BODY></HTML>  
  Top

3 楼zma(我爱我老婆)回复于 2003-05-03 03:03:12 得分 0

TO   阿信:  
   
  非常感谢!  
  测试成功立即送分!还可加分,虽然我可用分只有200分!我想念好钢要用在刀刃上!  
  再交谢谢了!Top

相关问题

  • 高分!~~~~~高分!!!!!!!
  • 高分,散分
  • 高分。
  • 高分!!!
  • 高分!!!!!!
  • 高分!!!!!!!
  • 高分!!!
  • 高分!!!!!!!!!!!!!!!!!
  • 高分!
  • 高分

关键词

得分解答快速导航

  • 帖主:zma
  • fason

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo