ASPX代码:
<div id = "divOLAddr" runat = "server" style ="margin:0;padding:0;">
</div>
<input type = "button" id = "Button2" onclick = "btnAddOLAddr_Click()" value = "添加"/>JavaScript代码:
function btnAddOLAddr_Click()
        {
            var theDiv = getObj("<% =divOLAddr.ClientID %>","behind");
         }
function getObj(id,type)
    {
        if(type == "fore")
            return document.all(id);
        else if(type == "behind")
            return document.getElementById(id);
    }
JavaScript代码如果放在ASPX页面中,theDiv有值。
如果放在一个JS文件中,虽然能进入btnAddOLAddr_Click函数,但是theDiv为null,这是为什么呢?

解决方案 »

  1.   

    因为无法给 var theDiv = getObj("<% =divOLAddr.ClientID %>","behind");
    赋值,可以考虑用隐藏域传值
      

  2.   

    <% = %>值用在页面上。 要不 你保存到隐藏的html控件中,再取值,或者 直接去源代码里面div的id
      

  3.   

    传递divOLAddr.ClientID 到JS文件中相关funtion
      

  4.   

    你的JS文件是否声明在aspx头部?
    如果是这样的话你的aspx文件还没有被解释就先进入到JS中的function里 
    "divOLAddr"这个控件此时还不存在把JS文件声明在页面尾部 我一般都这么做的