我在ASP.Net 4.0网站上有一个标签,我试图在用户输入文本框时隐藏它。
我有一个Javascript函数,我正在文本框的Keypressevent上启动。
所以,我的Javascript函数是:
function hideLabel(sender, e) {
document.getElementById('<%=lblResult.ClientID%>').style.display = 'none';
}
我的文本框和标签如下:
<tr><td>
<asp:Label ID="lblResult" runat="server" Visible="True"></asp:Label>
</td></td>
<tr><td>
<asp:TextBox ID="txtEmailAddress" runat="server" Width="200px"
CssClass="customtxt" onkeypress="hideLabel(this, event)"></asp:TextBox>
</td></td>
该函数触发但我收到以下错误:Microsoft JScript运行时错误:需要对象
我也在我的函数中尝试了以下代码行,但这也不起作用:
document.getElementById('lblResult').style.visibility = 'hidden';
任何人都知道为什么IE 8中的失败 - 它在Chrome中正常运行。
答案 0 :(得分:1)
我认为,在您的情况下,您不需要传递任何参数来运行:
function hideLabel() {
document.getElementById("<%=lblResult.ClientID%>").style.display = "none";
}
<asp:TextBox ID="txtEmailAddress" runat="server" Width="200px" CssClass="customtxt" onkeypress="hideLabel()"></asp:TextBox>
答案 1 :(得分:1)
只是没有参数的方法会起作用。
<script language="javascript" type="text/javascript">
function hideIt() {
document.getElementById('<%=myLabel.ClientID%>').style.display = 'none';
}
</script>
更新:
HTML 我的标签
SCRIPT function hideIt(){ document.getElementById('&lt;%= myLabel.ClientID%&gt;')。style.display ='none'; }
我可以确认它确实有效...... 您使用的浏览器是什么,我可以测试一下吗?
答案 2 :(得分:1)
这几乎肯定是失败的b / c它没有找到你正在寻找的标签。查看生成的源并确保页面上存在标签,并且它具有javascript生成输出中的ID。