当鼠标在TextBox中一点时,出来一个日历,在日历选择一个日期后,这个日期显示在TextBox中
解决方案 »
- XML创建节点,郁闷的问题,大家帮忙看看
- 通过下面的几种办法,为什么得到的全部服务器的硬件ID,有没有办法得到客户端的硬件ID,或你们是如何用户认证的呢?
- HTML控件<button>的点击事件怎么用啊
- 问个javastript的小问题
- |zyciis| 哪里有比较好的网上商城源码下载 自己要做一个 要来参考
- 学习.net 2005遇到的第一个问题
- 提问:怎么打开一定文件夹下的文件.(help)
- asp.net2+sql server2005+c#环境下如何用菜单控件编程序动态生成菜单项?
- 非常苦恼的问题,谁能帮我搞定他啊?
- 求教我这样一个数据显示需求要如何写
- 刷新问题
- .net 为什么弹出警告框后页面对左移
你到网上找找。。很多!!
用DateTimePicker这个dll,网上找一个,引用下,然后在工具箱里面添加一下,就有这个控件啦~
控件值的获取方式为DateTimePicker1.SelectedDate.Date.ToString("yy-MM-dd")
现在开始学.net,不知道怎么弄的
(2)做一个漂亮的日历图标。放在textbox的右边。
(3)点击小图标的时候调用js代码,使日历控件可见。
(4)实现日历控件的selectionChanged事件,
{
this.textBox1.Text = this.Calendar1.SelectedDate.ToString("d");
}
textBox是没有这个属性的,但是textBox在服务器端解析后会变成 input
input有onFocus这个属性的,因此,直接写上就起作用了,
LZ可以试下!
(2)做一个漂亮的日历图标。放在textbox的右边。
(3)点击小图标的时候调用js代码,使日历控件可见。
(4)实现日历控件的selectionChanged事件,
{
this.textBox1.Text = this.Calendar1.SelectedDate.ToString("d");
}
//日历
var date_start,date_end,g_object
var today = new Date();
var separator="-";
var inover=false;//mode :时间变换的类型0-年 1-月 2-直接选择月
function change_date(temp,mode)
{
var t_month,t_year
if (mode){
if(mode==1)
t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10);
else
t_month=parseInt(temp)
if (t_month<cele_date_month.options(0).text) {
cele_date_month.value=cele_date_month.options(cele_date_month.length-1).text;
change_date(parseInt(cele_date_year.value,10)-1,0);
}
else{
if (t_month>cele_date_month.options(cele_date_month.length-1).text){
cele_date_month.value=cele_date_month.options(0).text;
change_date(parseInt(cele_date_year.value,10)+1,0);
}
else
{cele_date_month.value=t_month;
set_cele_date(cele_date_year.value,cele_date_month.value);
}
}
}
else{
t_year=parseInt(temp,10);
if (t_year<cele_date_year.options(0).text) {
cele_date_year.value=cele_date_year.options(0).text;
set_cele_date(cele_date_year.value,1);
}
else{
if (parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10)){
cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;
set_cele_date(cele_date_year.value,12);
}
else
{cele_date_year.value=t_year;
set_cele_date(cele_date_year.value,cele_date_month.value);
}
}
}
/*********2002-02-01 MODIFY BY WING **************/
window.cele_date.focus();
/****************MODIFY END***********************/
}//初始化日历
function init(d_start,d_end)
{
var temp_str;
var i=0
var j=0
date_start=new Date(1980,7,1)
date_end=new Date(2004,8,1)
document.writeln("<div name=\"cele_date\" id=\"cele_date\" style=\"display:none\" style=\"LEFT: 69px; POSITION: absolute; TOP: 159px;Z-INDEX:99\" onClick=\"event.cancelBubble=true;\" onBlur=\"hilayer()\" onMouseout=\"lostlayerfocus()\">-</div>");
window.cele_date.innerHTML="";
temp_str="<table cellPadding=0 cellSpacing=1 border=\"0\" bgcolor=\"black\"><tr><td>"
temp_str+="<table cellPadding=0 cellSpacing=1 border=\"0\" bgcolor=\"#FFFFFF\" bordercolor=\"black\"><tr><td height=20 align=center bgcolor=#8492B5 colspan=7 onmouseover=\"overcolor(this)\">";
temp_str+="<input type=\"Button\" style=\"font-size: 9pt; font-family:Webdings;border: 0px #666666 outset; background-color: #8492B5\" value=\"9\" onclick=\"change_date(-1,1)\" onmouseover=\"getlayerfocus()\" style=\"color: #000099; background-color: #BFBFBF; cursor: hand\"> "; temp_str+=""
temp_str+="<select name=\"cele_date_year\" id=\"cele_date_year\" language=\"javascript\" onchange=\"change_date(this.value,0)\" onmouseover=\"getlayerfocus()\" onblur=\"getlayerfocus()\" style=\"font-size: 9pt; border: 1px #666666 outset; background-color: #F4F8FB\">" for (i=1900;i<=2050;i++)
{
temp_str+="<OPTION value=\""+i.toString()+"\">"+i.toString()+"</OPTION>";
}
temp_str+="</select><font size=2><strong>年</strong></font> ";
temp_str+=""
temp_str+="<select name=\"cele_date_month\" id=\"cele_date_month\" language=\"javascript\" onchange=\"change_date(this.value,2)\" onmouseover=\"getlayerfocus()\" onblur=\"getlayerfocus()\" style=\"font-size: 9pt; border: 1px #666666 outset; background-color: #F4F8FB\">" for (i=1;i<=12;i++)
{
temp_str+="<OPTION value=\""+i.toString()+"\">"+i.toString()+"</OPTION>";
}
temp_str+="</select><font size=2><strong>月</strong></font> ";
temp_str+=""
temp_str+="<input type=\"Button\" style=\"font-size: 9pt;font-family:Webdings;border: 0px #666666 outset; background-color: #8492B5\" value=\":\" onclick=\"change_date(1,1)\" onmouseover=\"getlayerfocus()\" style=\"color: #000099; background-color: #BFBFBF; cursor: hand\">"; temp_str+="</td></tr><tr bgcolor=#8496A5 height=22><td onmouseover=\"overcolor(this)\">"
temp_str+="<font color=red size=2 face=楷体_GB2312><strong>日</strong></font></td><td>";temp_str+="<font size=2 color=#000000 face=楷体_GB2312><strong>一</strong></font></td><td>"; temp_str+="<font size=2 color=#000000 face=楷体_GB2312><strong>二</strong></font></td><td>"; temp_str+="<font size=2 color=#000000 face=楷体_GB2312><strong>三</strong></font></td><td>"
temp_str+="<font size=2 color=#000000 face=楷体_GB2312>四</font></td><td>";temp_str+="<font size=2 color=#000000 face=楷体_GB2312><strong>五</strong></font></td><td>"; temp_str+="<font size=2 color=#000000 face=楷体_GB2312><strong>六</strong></font></td></tr>";
for (i=1 ;i<=6 ;i++)
{
temp_str+="<tr>";
for(j=1;j<=7;j++){
temp_str+="<td name=\"c"+i+"_"+j+"\"id=\"c"+i+"_"+j+"\" style=\"CURSOR: hand\" width=28 height=22 style=\"COLOR:#000000\" language=\"javascript\" onmouseover=\"overcolor(this)\" onmouseout=\"outcolor(this)\" onclick=\"td_click(this)\">?</td>"
}
temp_str+="</tr>"
}
temp_str+="</td></tr></table>";
temp_str+="</td></tr></table>";
window.cele_date.innerHTML=temp_str;
}
function set_cele_date(year,month)
{
var i,j,p,k
var nd=new Date(year,month-1,1);
event.cancelBubble=true;
cele_date_year.value=year;
cele_date_month.value=month;
k=nd.getDay()-1
var temp;
for (i=1;i<=6;i++)
for(j=1;j<=7;j++)
{
eval("c"+i+"_"+j+".innerHTML=\"\"");
//日期单元格背景色
eval("c"+i+"_"+j+".bgColor=\"#F7E7A5\"");
eval("c"+i+"_"+j+".style.cursor=\"hand\"");
}
while(month-1==nd.getMonth())
{ j=(nd.getDay() +1);
p=parseInt((nd.getDate()+k) / 7)+1;
eval("c"+p+"_"+j+".innerHTML="+"\""+nd.getDate()+"\"");
//如果是今天则,便颜色
if ((nd.getDate()==today.getDate())&&(cele_date_month.value==today.getMonth()+1)&&(cele_date_year.value==today.getYear())){
eval("c"+p+"_"+j+".bgColor=\"#FFD773\"");
}
//如果不是今天,则
if (nd>date_end || nd<date_start)
{
eval("c"+p+"_"+j+".bgColor=\"#FF9999\"");
eval("c"+p+"_"+j+".style.cursor=\"text\"");
}
nd=new Date(nd.valueOf() + 86400000)
}
}//s_object:点击的对象;d_start-d_end有效的时间区段;需要存放值的控件;
function show_cele_date(eP,d_start,d_end,t_object)
{
window.cele_date.style.display="";
window.cele_date.style.zIndex=99
var s,cur_d
var eT = eP.offsetTop;
var eH = eP.offsetHeight+eT;
var dH = window.cele_date.style.pixelHeight;
var sT = document.body.scrollTop;
var sL = document.body.scrollLeft;
event.cancelBubble=true;
window.cele_date.style.posLeft = event.clientX-event.offsetX+sL-5;
window.cele_date.style.posTop = event.clientY-event.offsetY+eH+sT-5;
if (window.cele_date.style.posLeft+window.cele_date.clientWidth>document.body.clientWidth) window.cele_date.style.posLeft+=eP.offsetWidth-window.cele_date.clientWidth;
if (d_start!=""){
if (d_start=="today"){
date_start=new Date(today.getYear(),today.getMonth(),today.getDate());
}else{
s=d_start.split(separator);
date_start=new Date(s[0],s[1]-1,s[2]);
}
}else{
date_start=new Date(1900,1,1);
}if (d_end!=""){
s=d_end.split(separator);
date_end=new Date(s[0],s[1]-1,s[2]);
}else{
date_end=new Date(3000,1,1);
}g_object=t_objectcur_d=new Date()
set_cele_date(cur_d.getYear(),cur_d.getMonth()+1);
window.cele_date.style.display="block";window.cele_date.focus();}
{
var t_d
if (parseInt(t_object.innerHTML,10)>=1 && parseInt(t_object.innerHTML,10)<=31 )
{ t_d=new Date(cele_date_year.value,cele_date_month.value-1,t_object.innerHTML)
if (t_d<=date_end && t_d>=date_start)
{
var year = cele_date_year.value;
var month = cele_date_month.value;
var day = t_object.innerHTML;
if (parseInt(month)<10) month = "0" + month;
if (parseInt(day)<10) day = "0" + day;g_object.value=year+separator+month+separator+day;
window.cele_date.style.display="none";};
}}
function h_cele_date()
{
window.cele_date.style.display="none";
}function overcolor(obj)
{
if (obj.style.cursor=="hand") obj.style.color = "#FF0000"; inover=true;
window.cele_date.focus();}function outcolor(obj)
{
obj.style.color = "#000000";
inover=false;}function getNow(o){
var Stamp=new Date();
var year = Stamp.getYear();
var month = Stamp.getMonth()+1;
var day = Stamp.getDate();
if(month<10){
month="0"+month;
}
if(day<10){
day="0"+day;
}
o.value=year+separator+month+separator+day;
}function hilayer()
{
if (inover==false)
{
var lay=document.all.cele_date;
lay.style.display="none";
}
}
function getlayerfocus()
{
inover=true;
}
function lostlayerfocus()
{
inover=false;
}
init();
//日历结束
然后我在aspx中这样调用
<input id="Text1" type="text" name="Text1" onfocus="show_cele_date(Text1,'','',Text1)" />
也还是不行的,说是缺少对象
<script type="text/javascript" src="PopUpCalendar.js" ></script>
/**
* 显示日历选择菜单
*@ eP 日历图片点击对象
*@ eD 需要输入日期的form 控件对象
*@ dmin
*@ dmax
*@ fnCB
*返回2003-01-01格式的日期,并把日期数值传入到该编辑框控件
*/
function ShowCalendar(obj)
{
//alert(obj);
var result = window.showModalDialog("../scripts/calendar.htm",null,"dialogWidth:60px;dialogHeight:172px;help:no;resizable:yes;status:no;scroll:no;");
if (typeof(result) != "undefined")
{
obj.value = result;
}
}
function ShowCalendar2(obj)
{
var result = window.showModalDialog("scripts/calendar.htm",null,"dialogWidth:60px;dialogHeight:172px;help:no;resizable:yes;status:no;scroll:no");
if (typeof(result) != "undefined")
{
obj.value = result;
}
}function ShowTime(obj)
{
var result = window.showModalDialog("scripts/time.htm",null,"dialogWidth:280px;dialogHeight:290px;help:no;resizable:yes;status:no;scroll:yes");
if (typeof(result) != "undefined")
{
obj.value = result;
}
}function ShowTime2(obj)
{
var result = window.showModalDialog("scripts/time.htm",null,"dialogWidth:280px;dialogHeight:290px;help:no;resizable:yes;status:no;scroll:yes");
var oldvalue = obj.value + " ";
if (typeof(result) != "undefined")
{
obj.value = oldvalue + result;
}
}function getCurrentDate()
{
var today = new Date();
var vYear = today.getYear();
var vMonth = today.getMonth() + 1;
var vDay = today.getDate();
vDate = today.getYear() + "-";
if (vMonth < 10)
vDate += "0" + vMonth;
else
vDate += "" + vMonth; vDate+="-"
if (vDay < 10)
vDate += "0" + vDay;
else
vDate += "" + vDay; return vDate;
}function getCurrentTime()
{
var today = new Date();
var vHours = today.getHours();
var vMinutes = today.getMinutes();
var vTime = "";
if (vHours < 10)
vTime += "0" + vHours;
else
vTime += "" + vHours; vTime+=":"
vMinutes = (Math.floor(vMinutes/10))*10;
if (vMinutes < 10)
vTime += "0" + vMinutes;
else
vTime += "" + vMinutes; return vTime;
}var date_start,date_end,g_object
var date_cur_day;//今日当前日期全格式:2004-07-13
var disble_ground=new Image;
var a1=new Image;
var a2=new Image;
a1.src="../Image/prev.gif";
a2.src="../Image/next.gif";
/* mode :时间变换的类型,temp:变换的时间 */
function change_date(temp,mode)
{
var t_month,t_year;
if (mode)
{
if(mode==1)
t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10);
else
t_month=parseInt(temp); if (t_month<cele_date_month.options(0).text)
{
cele_date_month.value=cele_date_month.options(cele_date_month.length-1).text;
change_date(parseInt(cele_date_year.value,10)-1,0);
}
else
{
if (t_month>cele_date_month.options(cele_date_month.length-1).text)
{
cele_date_month.value=cele_date_month.options(0).text;
change_date(parseInt(cele_date_year.value,10)+1,0);
}
else
{
cele_date_month.value=t_month;
set_cele_date(cele_date_year.value,cele_date_month.value);
}
}
}
else
{
t_year=parseInt(temp,10);
if (t_year<cele_date_year.options(0).text)
{
cele_date_year.value=cele_date_year.options(0).text;
set_cele_date(cele_date_year.value,1);
}
else
{
if (parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10))
{
cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;
set_cele_date(cele_date_year.value,12);
}
else
{
cele_date_year.value=t_year;
//月份或者年份切换时候清空当前数据
/*for(var x = 1; x <=7; x++)
{
for(var y = 1; y <= 6; y++)
{
eval("c"+x+"_"+y+".innerHTML="+"\"\"");
eval("c"+x+"_"+y+".bgColor=\"white\"");
}
}*/
set_cele_date(cele_date_year.value,cele_date_month.value);
}
}
}
}code]
function init(d_start,d_end)
{
var temp_str;
var i=0
var j=0
var year_start,year_end;
date_start=new Date(1930,1,1)
date_end=new Date(2049,1,1)
year_start=date_start.getYear();
year_start=1900+year_start;
year_end=date_end.getYear(); document.writeln("<div name=\"cele_date\" id=\"cele_date\" onClick=\"event.cancelBubble=true;\"> </div>"); window.cele_date.innerHTML="";
temp_str="<table border=0 cellpadding=1 cellspacing=1 bgcolor=#B5C4E6 class=\"pop\"><tr><td colspan=7 valign=\"top\">";
temp_str+="<img id=s_a1 name=s_a1 src=\"a1.gif\" language=\"javascript\" onclick=\"change_date(-1,1)\" style=\"CURSOR:hand\">";//左面的箭头
temp_str+=""//年
temp_str+="<select name=\"cele_date_year\" id=\"cele_date_year\" language=\"javascript\" onchange=\"change_date(this.value,0)\">"
for (i=year_start;i<=year_end;i++)
{
temp_str+="<OPTION value=\""+i.toString()+"\">"+i.toString()+"</OPTION>";
}
temp_str+="</select>";
temp_str+=""//月
temp_str+="<select name=\"cele_date_month\" id=\"cele_date_month\" language=\"javascript\" onchange=\"change_date(this.value,2)\" >"
for (i=1;i<=12;i++)
{
temp_str+="<OPTION value=\""+i.toString()+"\">"+i.toString()+"</OPTION>";
}
temp_str+="</select>";
temp_str+=""//右箭头
temp_str+="<img id=s_a2 name=s_a2 src=\"a2.gif\" language=\"javascript\" onclick=\"change_date(1,1)\" style=\"CURSOR:hand\" >";
temp_str+="</td></tr><tr height=\"12\" class=\"pop\" bgcolor=White><td>"
temp_str+="日</td><td>";temp_str+="一</td><td>"; temp_str+="二</td><td>"; temp_str+="三</td><td>"
temp_str+="四</td><td>";temp_str+="五</td><td>"; temp_str+="六</td></tr>";
for (i=1 ;i<=6 ;i++)
{
temp_str+="<tr>";
for(j=1;j<=7;j++){
temp_str+="<td name=\"c"+i+"_"+j+"\"id=\"c"+i+"_"+j+"\" bgColor='white' style=\"CURSOR: hand\" language=\"javascript\" onclick=\"td_click(this)\"> </td>"
}
temp_str+="</tr>"
}
temp_str+="</td></tr></table>";
window.cele_date.innerHTML=temp_str;
document.all("s_a1").src=a1.src
document.all("s_a2").src=a2.src
var cur_d=new Date(); /*设置日历的默认选择*/
set_cele_date(cur_d.getYear(),cur_d.getMonth()+1);
}/* year 年,month 月 */
function set_cele_date(year,month)
{
var i,j,p,k
var nd=new Date(year,month-1);
cele_date_year.value=year;
cele_date_month.value=month;
k=nd.getDay()-1;
var curDate = new Date();
var curYear = curDate.getYear();
var curMonth = curDate.getMonth()+1;
for (i=1 ;i<=6 ;i++)
{
for(j=1;j<=7;j++)
{
eval("c"+i+"_"+j+".innerHTML="+"\" \"");
eval("c"+i+"_"+j+".bgColor=\"white\"");
}
}
//计算填充数据
while(month-1==nd.getMonth())
{
j=(nd.getDay() +1);
p=parseInt((nd.getDate()+k) / 7)+1;
if (nd.getDate() == curDate.getDate() && year == curYear && month == curMonth)
{
eval("c"+p+"_"+j+".innerHTML="+"\"" + nd.getDate() + "\"");
eval("c"+p+"_"+j+".bgColor=\"#AAAAAA\"");
//记录当前日期全格式
date_cur_day = curYear + "-";
if (curMonth < 10)
date_cur_day += "0" + curMonth + "-";
else
date_cur_day += curMonth + "-";
if (nd.getDate() < 10)
date_cur_day += "0" + nd.getDate();
else
date_cur_day += nd.getDate();
}
else
{
eval("c"+p+"_"+j+".innerHTML="+"\""+nd.getDate()+"\"");
eval("c"+p+"_"+j+".bgColor=\"white\"");
} if (nd>date_end || nd<date_start)
{
eval("c"+p+"_"+j+".style.backgroundImage.src=disble_ground.src");
eval("c"+p+"_"+j+".bgColor=\"menu\"");
eval("c"+p+"_"+j+".style.cursor=\"text\"");
}
nd=new Date(nd.valueOf() + 86400000)
}
}var prevTdObj; //前面选中的TD格
var prevTdColor;//前面选中的TD的颜色
/* 选项中的TD */
function td_click(t_object)
{
var t_d;
var result;
if (typeof(prevTdObj) != 'undefined')
{
prevTdObj.bgColor = prevTdColor;
}
prevTdObj = t_object;
prevTdColor = t_object.bgColor;
t_object.bgColor = 'red';
if (parseInt(t_object.innerHTML,10)>=1 && parseInt(t_object.innerHTML,10)<=31 )
{
t_d = new Date(cele_date_year.value,cele_date_month.value-1,t_object.innerHTML); if (t_d <= date_end && t_d >= date_start)
{
result = cele_date_year.value + "-";
if (cele_date_month.value.length == 1)
result += "0" + cele_date_month.value + "-";
else
result += cele_date_month.value + "-";
if (t_object.innerHTML.length == 1)
result += "0" + t_object.innerHTML;
else
result += t_object.innerHTML;
setSelectedDay(result);
}
}
}[/
<asp:TextBox ID="main_changer" runat="server" Width="80px"></asp:TextBox>
运行后,查看源代码,是这样的
<input name="ctl00$ContentPlaceHolder1$main_changer" type="text" id="ctl00_ContentPlaceHolder1_main_changer" style="width:80px;" />
为什么名字和ID不是main_changer了,这个是不是因为引用了母版的原因???//
http://blog.csdn.net/baby97/archive/2008/03/20/2199964.aspx