ASP:标签和javascript getElementById

时间:2012-06-29 14:56:57

标签: javascript asp.net

我正在尝试使用Javascript的Text方法获取asp:label document.getElementById属性的值,使用以下代码

<asp:Label ID="lblThis" runat="server" Visible="False" Text="this is a label" />
<script type="text/javascript" language="javascript">
    var lblThis = document.getElementById('<%= lblThis.ClientID %>')
    var lblThisText = lblThis.innerText
    alert(lblThisText)
</script>

当我打开页面时,没有任何反应。我不是一个javascript的家伙,所以我不知道我哪里出错了。我也不是想在这里设置任何属性,只需将asp:label的值读入javscript。

感谢任何提示,指示或帮助。

更新

我已根据Mennan's answerVisible="false"替换为style="display:none",现在会收到“未定义”的提醒。正确的方向,但我还没有。

更新

我现在有一大堆代码。 innerText没有任何内容,但innerHTML有正确的字符串。正确的代码:

<asp:Label ID="lblThis" runat="server" style="display:none" Text="this is a label" />
<script type="text/javascript" language="javascript">
    var lblThis = document.getElementById('<%= lblThis.ClientID %>')
    var lblThisText = lblThis.innerHTML
    alert(lblThisText)
</script>

2 个答案:

答案 0 :(得分:3)

使用

<asp:Label ID="lblThis" runat="server" style="display:none" Text="this is a label" />

Visible="False"

答案 1 :(得分:1)

你在脚本标签类型中拼错了吗?

<script type="text/javascript">

此外,当您使用“Visible”属性时,控件甚至不会发送到页面。这与造型中使用“display:none”不同。您需要将“显示”的样式设置为“无”,然后javascript将找到该元素。