2016-11-04 3 views
0

Я пытаюсь выполнить JS-функцию, которая написана внизу файла .aspx.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 "' не изменяет идентификатор динамически? Можете ли вы опубликовать выходной HTML? – evolutionxbox

ответ

1

Вы пытаетесь получить контроль на стороне сервера. Скорее всего, Asp.Net изменил Идентификатор вашего элемента. Если ваш скрипт находится на той же странице 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

Это то, что пытался заставить ОП понять ... ugh – evolutionxbox

+0

Это правильно. спасибо за вашу помощь :) –

+0

Но у меня есть вопрос. когда он не был установлен как «runat = server», это был серверный контроль? –

-1

вопрос является неполным, в упомянутом вопросе, вызывание show_tabs метод отсутствует. Это важно, когда вы звоните. Если вы звоните, как только страница загружается, вы получите ее легко. вызовите метод в $ (document.ready).

Смежные вопросы