Textbox的获取焦点的问题??

nanbazhangbiao 2010-03-24 04:26:34
我做了ASPX页面里放了一个Textbox控件,然后放了一个用于显示日期的calendar控件,我想要当这个Textbox控件获得焦点时,这个calendar是可见的;失去焦点时,calendar控件时隐藏的。。。。
有人给了这样一段代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Calendar1.Attributes.Add("style", "display:none;border-width:1px;border-style:solid;border-collapse:collapse;z-index: 100; left: 0px;");
TextBox1.Attributes.Add("onfocus", "javascript:document.getElementById('Calendar1').style.display=''");
TextBox1.Attributes.Add("onblur", "javascript:document.getElementById('Calendar1').style.display='none'");


}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{

TextBox1.Text = Calendar1.SelectedDate.ToShortDateString();

}

}
但是我用上去后,显示和隐藏倒是实现了,但是点击时,那个日期不能显示到Textbox里面啊!!
求高手解答啊。。。。
到底Textbox的焦点事件怎么去弄啊!!
...全文
347 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyu3237_java 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

不能。。。Calendar1_SelectionChanged是你选择日期时才触发的事件。。。
最开始Calendar1都是隐藏的。。怎么选择嘛
[/Quote]
Calendar1.visible=true;就好,把失去焦点的那个代码注销掉
sunyu3237_java 2012-07-18
  • 打赏
  • 举报
回复
把TextBox1.Attributes.Add("onblur", "javascript:document.getElementById('Calendar1').style.display='none'");
这个先注销掉。
在这个里面加一句

protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{

TextBox1.Text = Calendar1.SelectedDate.ToShortDateString();
Calendar1.visibe=true;
}
这样就OK了
nanbazhangbiao 2010-03-24
  • 打赏
  • 举报
回复
不能。。。Calendar1_SelectionChanged是你选择日期时才触发的事件。。。
最开始Calendar1都是隐藏的。。怎么选择嘛
xulisha123 2010-03-24
  • 打赏
  • 举报
回复
弱弱得问一句:在Calendar1_SelectionChanged事件里写隐藏不可以嘛? 选择了日期后让TextBox1隐藏
丰云 2010-03-24
  • 打赏
  • 举报
回复
<%= Html.TextBox("xxx", "yyy", [zzzzz])%>
<%= Html.Calender("xxx")%>
丰云 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 nanbazhangbiao 的回复:]
我上面贴那个代码实现了calendar的隐藏和显示了的。。就是点击中间的日期后,在Textbox中没有把日期显示出来啊。。
[/Quote]
了解:
<%= Html.TextBox("xxx", "yyy", new { size = "10", MaxLength = "10", onblur = "formatDate('zzzz');" })%>
<%= Html.Calender("ReceiveDateFrom")%>
nanbazhangbiao 2010-03-24
  • 打赏
  • 举报
回复
我上面贴那个代码实现了calendar的隐藏和显示了的。。就是点击中间的日期后,在Textbox中没有把日期显示出来啊。。
丰云 2010-03-24
  • 打赏
  • 举报
回复
选个日期能要多久。。。
给它10秒够不够。。。
丰云 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 nanbazhangbiao 的回复:]
一段时间后自动隐藏不好吧。。。有时你在calendar上操作的时间不确定啊
[/Quote]
在textbox获得焦点的时候,让日期控件显示出来,同时设定时间,到时间自动隐藏掉。
js,setTimeOut()方法可以设定时间。
huminghua 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mengjun5200 的回复:]
用js就可以实现了,很方便
[/Quote]
。。。JS
huminghua 2010-03-24
  • 打赏
  • 举报
回复
你写上
onblur="[xxx]"//失去焦点
onfocus="[yyy]"//获得焦点
去,你试过了吗?用INPUT啊!然后加个RUNAT=“SERVER”啊!一样的可以用啊!
mengjun5200 2010-03-24
  • 打赏
  • 举报
回复
用js就可以实现了,很方便
nanbazhangbiao 2010-03-24
  • 打赏
  • 举报
回复
一段时间后自动隐藏不好吧。。。有时你在calendar上操作的时间不确定啊
nanbazhangbiao 2010-03-24
  • 打赏
  • 举报
回复
JS我知道能实现。。但是我就想弄懂这个calendar控件怎么用啊!!
三楼的能不能说具体点啊。。Textbox中貌似没有onfocus和onblur事件啊。。只有个返回void类型的Focus()函数。。。
丰云 2010-03-24
  • 打赏
  • 举报
回复
感觉是思路问题,
不要在失去焦点时隐藏,
换成显示一段时间后自动隐藏
丰云 2010-03-24
  • 打赏
  • 举报
回复
onblur="[xxx]"//失去焦点
onfocus="[yyy]"//获得焦点
chen_ya_ping 2010-03-24
  • 打赏
  • 举报
回复
这个网上找的js日期控件都是有这个功能的,1楼主的就很好。
kyoybs 2010-03-24
  • 打赏
  • 举报
回复
一般用这个:http://www.my97.net/dp/index.asp 。 自己处理的话问题很多的,没必要自己处理。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧