有一个文本框:id=testtext,当用户未用鼠标点击该文本框时显示当前日期,当用户点击时,弹出一个日历,用户可以选择日期,然后提交,后台可取到日期值。
解决方案 »
- 关于UpdateProgress控件的问题?
- 关于datalist里数据即时更新的问题
- 有什么短信猫二次开发包支持ASP.NET语言开发的吗?
- 有没有哪位牛人用过ASPPDF 将网页转成pdf格式?我用了一下使用版,但是报错。
- QueryString为何得到的是空值?
- GridView使用模板列
- 生成验证码图片的代码。请问如何控制生成图片的位置?
- 为何从DataGrid里面TextBox控件取到的总是原来的值?在线等待...
- ############支持国产共享软件,请大家投上最神圣的一票!!!!散分
- Microsoft .NET 框架程序设计(修订版)电子版
- HierarGrid问题
- 问一个弱智的初级问题
可以在文框旁边放一按钮,单击按钮显示,选择日期后辅值给文本框让日期控键的visable=false.
{
TextBox3.Text=Calendar1.SelectedDate.ToShortDateString();
Calendar1.Visible=false;
}// yahooican (必胜客) 兄:这是选择日期并赋值给文本框的代码!
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript" src="jspCalendar.js"></script>调用日历的方法:
ShowCalendar('MyCalendar', 文本框的ID, 显示位置控件的ID);客户端内容:
<div id="MyCalendar"></div>
<INPUT id="txtDate" type="text" size="10">
<INPUT id="btnSelectDate" onclick="ShowCalendar('MyCalendar', 'txtDate', 'btnSelectDate');" type="button" value="Select">日历文件Calendar.js内容如下: //用于记录当前日历组件ID
var msCalendarID = "";
//用于记录需要赋值的Textbox的ID
var msTextboxID = "";
// 初始化月份
var mMonthName = new Array("一 月",
"二 月",
"三 月",
"四 月",
"五 月",
"六 月",
"七 月",
"八 月",
"九 月",
"十 月",
"十一月",
"十二月");
function HideElement()
{
document.getElementById(msCalendarID).style.display = "none";
}
function ShowElement(PosID)
{
var oCalendar = document.getElementById(msCalendarID);
var oPos = document.getElementById(PosID);
oCalendar.style.zIndex = 99999;
oCalendar.style.position = "absolute";
oCalendar.style.display = "inline";
var iLeft = 0;
var iTop = 0;
while(oPos != null)
{
iLeft += oPos.offsetLeft;
iTop += oPos.offsetTop;
oPos = oPos.offsetParent;
}
oCalendar.style.left = iLeft;
oCalendar.style.top = iTop + document.getElementById(PosID).offsetHeight;
} //获取指定年份和月份的天数
function GetDayNum(iYear, iMonth)
{
switch(iMonth + 1)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
return 31;
}
case 2:
{
return ((0 == iYear % 4) && (0 != (iYear % 100))) || (0 == iYear % 400) ? 29 : 28;
}
case 4:
case 6:
case 9:
case 11:
{
return 30;
}
}//switch
}
// 得到今天的日期
function GetToday()
{
this.Now = new Date();
this.Year = this.Now.getFullYear();
this.Month = this.Now.getMonth();
this.Day = this.Now.getDate();
} // 显示指定年份和月份的日历
function GetCalendar(iYear, iMonth)
{
var sDaysGrid = MakeDaysGrid(iYear, iMonth);
if(sDaysGrid != null && sDaysGrid != "")
{
document.getElementById(msCalendarID).innerHTML = sDaysGrid;
}
}
function MakeDaysGrid(iYear, iMonth)
{
var oOneDay = new Date(iYear, iMonth, 1);
var iDayNum = GetDayNum(oOneDay.getFullYear(), oOneDay.getMonth());
var sDaysGrid = '<table borderColor="#ffccee" width="210" border="1" bgColor="#ffeecc" style="TEXT-ALIGN: center">';
sDaysGrid += '<tr>';
sDaysGrid += '<td colspan="3">';
sDaysGrid += '<SELECT onchange="GetCalendar(' + iYear + ', this.value);">';
for(var i=0; i<12; ++i)
{
if (iMonth == i)
{
sDaysGrid += '<OPTION value="' + i + '" selected>' + mMonthName[i] + '</OPTION>';
}
else
{
sDaysGrid += '<OPTION value="' + i + '">' + mMonthName[i] + '</OPTION>';
}
} sDaysGrid += '</SELECT></td>';
sDaysGrid += '<td colspan="3">';
sDaysGrid += '<a href="javascript:GetCalendar(' + (iYear - 1) + ', ' + iMonth + ');" style="CURSOR: hand"><<</a>';
sDaysGrid += ' <input type="text" value="' + iYear + '" size="3" readOnly> ';
sDaysGrid += '<a href="javascript:GetCalendar(' + (iYear + 1) + ', ' + iMonth + ');" style="CURSOR: hand">>></a>';
sDaysGrid += '</td><td onclick="javascript:HideElement()" style="CURSOR: hand" onmouseenter="javascript:this.style.color=\'red\';this.style.backgroundColor=\'#ffddff\';" onmouseout="javascript:this.style.color=\'black\';this.style.backgroundColor=\'#ffeecc\';">X</td></tr>';
sDaysGrid += '<tr><TD>日</TD><TD>一</TD><TD>二</TD><TD>三</TD><TD>四</TD><TD>五</TD><TD>六</TD></tr>'; for (var iWeek = 0; iWeek <6; iWeek++)
{
sDaysGrid +='<tr>';
var iDayOfMonth;
for (var iDay = 0; iDay < 7; iDay++)
{
iDayOfMonth = (iWeek * 7) + iDay - oOneDay.getDay() + 1;
if (iDayOfMonth <= 0)
{
sDaysGrid += "<td> </td> ";
}
else if(iDayOfMonth <= iDayNum)
{
sDaysGrid += '<td style="CURSOR: hand" onclick="SetDay(' + iYear + ', ' + iMonth + ' ,' + iDayOfMonth + ');" onmouseenter="javascript:this.style.backgroundColor=\'#ffddff\';" onmouseout="javascript:this.style.backgroundColor=\'#ffeecc\';">' + iDayOfMonth+'</td>';
}
else
{
if(iDay == 0)
{
sDaysGrid = sDaysGrid.substring(0, sDaysGrid.length - 4);
break;
}
else
{
sDaysGrid += "<td> </td> ";
}
}
}
if (iDayOfMonth < iDayNum)
{
sDaysGrid += "</tr>";
}
}
var oToday = new GetToday();
sDaysGrid += '<tr><td colspan="7" style="CURSOR: hand" onmouseenter="javascript:this.style.backgroundColor=\'#ffddff\';" onmouseout="javascript:this.style.backgroundColor=\'#ffeecc\';" onclick="javascript:SetToday();">今天是:' + oToday.Year + '年' + (oToday.Month+1) + '月' + oToday.Day + '日</td></tr>';
sDaysGrid += "</table>";
return sDaysGrid;
}
function SetToday()
{
var oToday = new GetToday();
document.getElementById(msTextboxID).value = oToday.Year + "/"+ (oToday.Month + 1)+ "/" + oToday.Day;
HideElement();
} function SetDay(iYear, iMonth, iDay)
{
document.getElementById(msTextboxID).value =iYear + "/"+ (iMonth + 1)+ "/" + iDay ;
HideElement();
} function ShowCalendar(CalendarID, TextboxID, PosID)
{
msCalendarID = CalendarID;
msTextboxID = TextboxID;
var oToday = new GetToday();
GetCalendar(oToday.Year, oToday.Month); ShowElement(PosID);
}
请大家多提意见:[email protected]