我有这个简单的代码:
<html>
<body>
<form name="f1">
<asp:Label name="lbl" runat="server" Text="Label" onclick="lblClick()"></asp:Label>
</form>
<script type="text/javascript">
function lblClick(){
document.f1.lbl.text="new text";}
</script>
</body>
</html>
它不起作用,它给了我: Microsoft JScript运行时错误:'document.getElementById(...)'为null或不是对象..., 我甚至无法更改标签文本....为什么?!!!
答案 0 :(得分:2)
<asp:Label id="lbl" name="lbl" runat="server" Text="Label" onclick="lblClick(this)"></asp:Label>
function lblClick(elem)
{
elem.innerText = "new text"; //IE
//elem.textContent = "new text"; //FF
}
答案 1 :(得分:1)
让我们记住asp.net会为您重命名控件。
<form name="f1">
<asp:Label id="lbl" runat="server" Text="Label" onclick="lblClick()"></asp:Label>
</form>
<script type="text/javascript">
function lblClick(){
document.getElementById('<%=lbl.ClientId %>').innerHTML="new text";}
</script>
Adamantium的答案也将为您提供您所追求的功能。