【发布时间】:2012-06-29 14:56:56
【问题描述】:
我正在尝试使用 Javascript 的 document.getElementById 方法获取 asp:label 的 Text 属性的值,使用以下代码
<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 answer 将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>
【问题讨论】:
-
用分号结束每一行不会有什么坏处;
-
我建议使用
而不是Label,如果你不需要在页面上显示标签的值。 -
问题中的代码似乎没有任何问题。这是全部还是页面中还有其他内容?
标签: javascript asp.net