在KeyPress上的Javascript中隐藏ASP.Net标签

时间:2012-02-06 14:24:37

标签: javascript asp.net label visible onkeypress

我在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中正常运行。

3 个答案:

答案 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。