首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于 calendar 日期控件 有关问题.请朋友帮助!

2012-02-17 
关于 calendar 日期控件 问题..请朋友帮助!!下边代码可以做试验.我想让这个弹出的日期镶嵌在页面上而不是

关于 calendar 日期控件 问题..请朋友帮助!!
下边代码可以做试验.我想让这个弹出的日期   镶嵌在页面上   而不是   弹出来
该怎么弄   我不知道该如何处理了.
请朋友帮忙给我点思路..谢谢..

下边代码可以   做测试:     复制到本地即可
----------------------------
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN ">
<html>
    <head>
        <title> MyHtml.html </title>

        <meta   http-equiv= "keywords "   content= "keyword1,keyword2,keyword3 ">
        <meta   http-equiv= "description "   content= "this   is   my   page ">
        <meta   http-equiv= "content-type "   content= "text/html;   charset=UTF-8 ">
       
        <!-- <link   rel= "stylesheet "   type= "text/css "   href= "./styles.css "> -->

    </head>
   
    <body   onload= "showCalendar( 'ct100$cphPage$Calendar ',   '2817 ') ">
<DIV   style= "Z-INDEX:   1;   LEFT:5px   VISIBILITY:   visible;   WIDTH:   155px;   POSITION:   absolute;   HEIGHT:   22px ">
<table> <tr> <td   height= "22 ">
<script>

function   showCalendar(str_target,   str_datetime)   {
var   arr_months   =   [ "January ",   "February ",   "March ",   "April ",   "May ",   "June ",   "July ",   "August ",   "September ",   "October ",   "November ",   "December "];
var   week_days   =   [ "Su ",   "Mo ",   "Tu ",   "We ",   "Th ",   "Fr ",   "Sa "];
var   n_weekstart   =   1;   //   day   week   starts   from   (normally   0   or   1)
var   dt_datetime   =   (str_datetime   ==   null   ||   str_datetime   == " "   ?     new   Date()   :   str2dt2(str_datetime));
var   dt_prev_month   =   new   Date(dt_datetime);
dt_prev_month.setMonth(dt_datetime.getMonth()-1);
var   dt_next_month   =   new   Date(dt_datetime);
dt_next_month.setMonth(dt_datetime.getMonth()+1);
var   dt_firstday   =   new   Date(dt_datetime);
dt_firstday.setDate(1);
dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
var   dt_lastday   =   new   Date(dt_next_month);
dt_lastday.setDate(0);

//   html   generation   (feel   free   to   tune   it   for   your   particular   application)
//   print   calendar   header
var   str_buffer   =   new   String   (
" <html> \n "+
" <head> \n "+
" <title> Calendar </title> \n "+
" </head> \n "+
" <body   bgcolor=\ "White\ "> \n "+
" <table   class=\ "clsOTable\ "   cellspacing=\ "0\ "   border=\ "0\ "   width=\ "100%\ "> \n "+


" <tr> <td   bgcolor=\ "#0033CC\ "> \n "+
" <table   cellspacing=\ "1\ "   cellpadding=\ "3\ "   border=\ "0\ "   width=\ "100%\ "> \n "+
" <tr> \n <td   bgcolor=\ "#0033CC\ "> <a   href=\ "javascript:window.opener.showCalendar( ' "+
str_target+ " ',   ' "+   dt2dtstr2(dt_prev_month)+ " ');\ "> "+
" <img   src=\ "images/cal_prev.gif\ "   width=\ "16\ "   height=\ "16\ "   border=\ "0\ " "+
"   alt=\ "previous   month\ "> </a> </td> \n "+
" <td   bgcolor=\ "#0033CC\ "   colspan=\ "5\ "> "+
" <font   color=\ "white\ "   face=\ "tahoma,   verdana\ "   size=\ "2\ "> "
+arr_months[dt_datetime.getMonth()]+ "   "+dt_datetime.getFullYear()+ " </font> </td> \n "+
" <td   bgcolor=\ "#0033CC\ "   align=\ "right\ "> <a   href=\ "javascript:window.opener.showCalendar( ' "
+str_target+ " ',   ' "+dt2dtstr2(dt_next_month)+ " ');\ "> "+
" <img   src=\ "images/cal_next.gif\ "   width=\ "16\ "   height=\ "16\ "   border=\ "0\ " "+
"   alt=\ "next   month\ "> </a> </td> \n </tr> \n "
);

var   dt_current_day   =   new   Date(dt_firstday);
str_buffer   +=   " <tr> \n ";
for   (var   n=0;   n <7;   n++)
str_buffer   +=   " <td   bgcolor=\ "#CCCCCC\ "> "+
" <font   color=\ "white\ "   face=\ "tahoma,   verdana\ "   size=\ "2\ "> "+
week_days[(n_weekstart+n)%7]+ " </font> </td> \n ";

str_buffer   +=   " </tr> \n ";
while   (dt_current_day.getMonth()   ==   dt_datetime.getMonth()   ||
dt_current_day.getMonth()   ==   dt_firstday.getMonth())   {

str_buffer   +=   " <tr> \n ";
for   (var   n_current_wday=0;   n_current_wday <7;   n_current_wday++)   {
if   (dt_current_day.getDate()   ==   dt_datetime.getDate()   &&
dt_current_day.getMonth()   ==   dt_datetime.getMonth())

str_buffer   +=   " <td   bgcolor=\ "#FFFF99\ "   align=\ "right\ "> ";
else   if   (dt_current_day.getDay()   ==   0   ||   dt_current_day.getDay()   ==   6)

str_buffer   +=   " <td   bgcolor=\ "#DBEAF5\ "   align=\ "right\ "> ";
else

str_buffer   +=   " <td   bgcolor=\ "white\ "   align=\ "right\ "> ";

if   (dt_current_day.getMonth()   ==   dt_datetime.getMonth())

str_buffer   +=   " <a   href=\ "javascript:window.opener. "+str_target+
".value= ' "+dt2dtstr2(dt_current_day)+ " ';   window.close();\ "> "+
" <font   color=\ "black\ "   face=\ "tahoma,   verdana\ "   size=\ "2\ "> ";


else  
str_buffer   +=   " <a   href=\ "javascript:window.opener. "+str_target+
".value= ' "+dt2dtstr2(dt_current_day)+ " ';   window.close();\ "> "+
" <font   color=\ "gray\ "   face=\ "tahoma,   verdana\ "   size=\ "2\ "> ";
str_buffer   +=   dt_current_day.getDate()+ " </font> </a> </td> \n ";
dt_current_day.setDate(dt_current_day.getDate()+1);
}
//   print   row   footer
str_buffer   +=   " </tr> \n ";
}
//   print   calendar   footer
str_buffer   +=
" </table> \n "   +
" </tr> \n </td> \n </table> \n "   +
" </body> \n "   +
" </html> \n ";

var   vWinCal   =   window.open( " ",   "Calendar ",  
"width=200,height=250,status=no,resizable=yes,top=200,left=200 ");
vWinCal.opener   =   self;
vWinCal.focus();
var   calc_doc   =   vWinCal.document;
calc_doc.write   (str_buffer);
calc_doc.close();
}

function   str2dt2   (str_datetime)   {
var   re_date   =   /^(\d+)\-(\d+)\-(\d+)$/;
if   (!re_date.exec(str_datetime))
          {
                return   (new   Date())}
return   (new   Date   (RegExp.$1,   RegExp.$2-1,   RegExp.$3));
}
function   dt2dtstr2   (dt_datetime)   {
return   (new   String   (
dt_datetime.getFullYear()+ "- "+(dt_datetime.getMonth()+1)+ "- "+dt_datetime.getDate()));
}

</script>
</td> </tr> </table>
</DIV>
    </body>
</html>


[解决办法]
他那个是.net自带的控件,你可以直接使用
[解决办法]
肯定是编码的问题,.net的默认编码是utf-8 你把这个默认调整为gb2312
web.config中
<globalization requestEncoding= "gb2312 " responseEncoding= "gb2312 "/>

热点排行