2016-11-04 70 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)中的方法。

相关问题