我在外部js文件写了一个删除的方法如下:
 function MyDel()
        {
            var gv=document.getElementById("gvPower");
            alert(gv);
            
            var item=gv.getElementsByTagName("input");
            var count=0;
            for(var i=0;i<item.length;i++)
            {
                if(item[i].type=="checkbox")
                {
                    if(item[i].checked)
                    {
                        count++;
                    }
                }
            }
            
            if(count==0)
            {
                alert("您没有选择要删除的数据!");
                return false;
            }
            else
            {
                if(confirm("你确定要删除吗?"))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
却找不到gv对象,可是将代码copy到页面<head></head>中<script type="text/javascript">
      function MyDel()
      {
            var gv=document.getElementById("<%= gvPower.ClientID %>");
            var item=gv.getElementsByTagName("input");
            var count=0;
            for(var i=0;i<item.length;i++)
            {
                if(item[i].type=="checkbox")
                {
                    if(item[i].checked)
                    {
                        count++;
                    }
                }
            }
            
            if(count==0)
            {
                alert("您没有选择要删除的数据!");
                return false;
            }
            else
            {
                if(confirm("你确定要删除吗?"))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
   </script>
却找到gv对象,这是为什么啊???

解决方案 »

  1.   

    var gv=document.getElementById("gvPower");
    这句问题,生成的客户端文件不一定会叫gvpower,你在界面直接打开源文件,看一下gvpower有没有被改名
      

  2.   


    找不以对象和那个没有关系。。 var gv=document.getElementById("gvPower");你这句的问题你用的是服务器控件右键源码看gvPower变成什么了然后把getElementById括号里的改成源码中显示的
      

  3.   

    我知道服务器控件要找到对象要用<%=xxx.ClientID%>
    如下:document.getElementById("<%= gvPower.ClientID %>");
    可是在外部js文件中就不需要用<%=xxx.ClientID%>了,在外部用<%=xxx.ClientID%>反而报错了,
    之前在外部js里做的时候就对的,后来就不对了,我很奇怪,反而找不到对象了