2011-08-10 28 views
0

我知道這個問題有幾個答案。如何使用JavaScript訪問asp.net masterpage中的元素ID?

通常在線給出涉及這樣的答案...

document.getElementById (<%=myElementID.ClientID %>); 

,而不是這個......

document.getElementById("myElementID"); 

然而,即使我做了第一種方式,我的JavaScript代碼仍然找不到該元素。它告訴我元素是未定義的。

所以...只是爲了測試...我試圖剝離出我所有的JavaScript代碼,並用這樣的一個警告框訪問該元素...

<script type="text/javascript"> 
    alert(document.getElementById('<%=searchHyperLink.ClientID %>').value); 
</script> 

它仍然告訴我它的定義。

但它不嚇人undefined!當我查看網頁來源時,由<%= searchHyperLink.ClientID%>呈現的ID與我想查找的控件的ID完全匹配。

有什麼建議嗎?

+2

你把這個警報放在哪裏?那個DOM準備好了嗎? –

回答

4

要擴大埃文的評論,如果你在一個腳本標記是之前文檔的順序的元素,它會返回undefineddocument.getElementById。試試這個:

<html> 
    <head> 
    <script> 
     function postLoadFn() { 
      alert(document.getElementById('<%=searchHyperLink.ClientID %>').innerHTML); 
     } 
    </script> 
    </head> 
    <body onload="postLoadFn();"> 
    <!-- Your markup here --> 
    </body> 
</html> 
相關問題