关于 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 "/>