2016-11-04 6 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를 변경했을 가능성이 있습니다. 스크립트가 동일한 영문 페이지에있는 경우이 작업을해야합니다 수 :

<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)에있는 메소드를 호출하십시오.

관련 문제