0

我正在尝试使用以下代码获取带有 Javascript方法的Text属性的值asp:labeldocument.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 人,所以我不知道我哪里出错了。我也不想在这里设置任何属性,只是将 an 的值读asp:label入 javscript。

感谢您提供的任何提示、指示或帮助。

更新

我已按照Mennan 的回答Visible="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>
4

2 回答 2

3

利用

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

不是

Visible="False"
于 2012-06-29T14:59:04.713 回答
1

您是否在脚本标签类型中拼错了 javascript?

<script type="text/javascript">

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

于 2012-06-29T14:59:13.767 回答