2009-12-12 41 views
0

我有這個簡單的代碼:爲什麼我不能調用表單內容?

<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> 

它不工作,它給了我: 微軟JScript運行時錯誤:「的document.getElementById(...)」爲空或不是對象... , 我甚至不能更改標籤文本....爲什麼?

回答

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

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 
} 
+0

什麼是元素? – jjj 2009-12-12 06:20:28

+1

它是對引用函數的標籤的引用。 – rahul 2009-12-12 06:21:08

相關問題