2016-11-04 94 views
0

我試圖執行寫入.aspx文件底部的JS函數。document.getelementbyId()即使腳本位於文件末尾也會返回null

Div標籤:

<div id="div_NRContainer" oninit="div_NRContainer_Init" class="panelContainer" runat="server"> 

在此之後在腳本標籤:

<script type="text/javascript"> 

    function show_tabs(id) { 

       var nrcontainer = document.getElementById("div_NRContainer"); 
       alert(nrcontainer); 
} 
+0

你能用你的代碼創建一個小提琴或代碼片段嗎? –

+0

@hitesh。你想讓我在這裏添加完整的代碼嗎? –

+1

你正在使用ASP.net和一個ID。你能確定'runat =「server」'屬性不會動態改變ID嗎?請你可以發佈輸出HTML嗎? – evolutionxbox

回答

1

您正在試圖獲得服務器端控制。很可能,Asp.Net已經改變了你的元素的Id。如果你的腳本是一樣的aspx頁面上,這可能應該工作:

<script type="text/javascript"> 
    function show_tabs(id) { 
     var nrcontainer = document.getElementById("<%= div_NRContainer.ClientID %>"); 
     alert(nrcontainer); 
    } 
</script> 

閱讀上的ClientIDMode:https://msdn.microsoft.com/en-US/library/system.web.ui.control.clientidmode(v=vs.110).aspx

+0

這是什麼試圖讓OP瞭解...呃 – evolutionxbox

+0

這是正確的。感謝您的幫助:) –

+0

但我有一個問題。當它沒有被設置爲「runat = server」時,它是一個服務器端控件? –

-1

的問題是不完整的,在提到的問題,呼籲show_tabs方法缺少的。這很重要,你打電話的地方,如果你打電話一次的網頁加載,你會很容易地得到它。調用$(document.ready)中的方法。

相關問題