我正在尝试使用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 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>
答案 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将找到该元素。