1

我在 ASP.Net 4.0 网站上有一个标签,当用户输入文本框时,我试图隐藏它。

我有一个在文本框的 Keypressevent 上触发的 Javascript 函数。

所以,我的 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 中正常工作。

4

3 回答 3

1

我认为,在你的情况下,你不需要传递任何参数来运行:

    function hideLabel() {
    document.getElementById("<%=lblResult.ClientID%>").style.display = "none";
}

<asp:TextBox ID="txtEmailAddress" runat="server" Width="200px" CssClass="customtxt" onkeypress="hideLabel()"></asp:TextBox>
于 2012-02-06T14:29:49.383 回答
1

它几乎可以肯定是失败的 b/c 它没有找到你正在寻找的标签。查看生成的源代码并确保标签存在于页面上,并且它具有 javascript 生成的输出中的 ID。

于 2012-02-06T14:54:45.327 回答
1

只是没有参数的方法会起作用。

<script language="javascript" type="text/javascript">
    function hideIt() {
        document.getElementById('<%=myLabel.ClientID%>').style.display = 'none'; 
    }
</script>

更新 :

HTML 我的标签

脚本函数 hideIt() { document.getElementById('<%=myLabel.ClientID%>').style.display = 'none'; }

我可以确认它确实有效....您使用的是什么浏览器,所以我可以测试它吗?

于 2012-02-06T14:35:16.650 回答