当一个TextBox获得焦点时弹出日历控件asp.net基于(vb)

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:03:06
我做的系统时,在页面的 Page_Load 事件中,使textbox1获得焦点时弹出日历控件(Calendar),如果初始控件Calendar1.Visible=false时,TextBox1.Attributes.Add"onfocus", "document.getElementById('Calendar1').style.display='“'运行时却出现脚本错误:“缺少对象”
当初始Calendar1.Visible=true时,TextBox1.Attributes.Add"onfocus", "document.getElementById('Calendar1').style.display='none';")控件Calendar1却能隐藏。不知道问题出现在那里,如需调用JS,如何写?查了好多网上资料,都是用C#,不知道基于VB能不能,希望大家帮帮忙,只有30分了
谢谢。我按照你的做法。
TextBox1.Attributes.Add("onfocus", "javascript:document.getElementById('Calendar1').style.display = 'block'")
在HttP Code中
<div id="dv" style="display: none;">
<asp:Calendar id="Calendar1" runat="server"></asp:Calendar>
</div>
问题是,当TextBox控件获得焦点时Calendar1控件没有显示,反之当<div id="dv" style="display: Block;">TextBox1.Attributes.Ad

Visible=false 的时候...在编译出来的页面中是不会出现那个控件HTML代码的~~
所以.脚本肯定就缺少对象啦~
不妨改用其他方式来隐藏~
比方说放在一个Style.display='none' 的 DIV里面..onfocus的时候显示出DIV就成了~~~

TextBox1.Attributes.Add("onfocus", "javascript:document.getElementById('Calendar1').style.display = 'block'") 你这句显示的是日期控件,可是我的意思是显示出DIV,所以应该是

TextBox1.Attributes.Add("onfocus", "javascript:document.getElementById('dv').style.display = 'block'")
而日期控件本身不要设成隐藏的....它所属的DIV隐藏了,就显示不出来了