为什么我不能打电话给表格内容?

时间:2009-12-12 06:13:51

标签: asp.net javascript

我有这个简单的代码:

<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或不是对象..., 我甚至无法更改标签文本....为什么?!!!

2 个答案:

答案 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的答案也将为您提供您所追求的功能。