请大家帮忙看看。
function t_setpw(gname,btnid,msg){
    var gv = document.getElementById(gname);
    var cb = document.getElementsByTagName("input");
    var j=0;
    var selectedvalue = "";
    for (var i=0;i<cb.length;i++)
    {
        if(cb[i].type=="checkbox"&&cb[i].checked==true)
        {
            j++;
            selectedvalue += cb[i].value;
        }
    }
    if (j>0)
    {
        document.getElementById(btnid).click();
    }
    else
    {
        ShowMessage(msg);
    }
}在页面中调用这个方法:
  <input type="button" value="推荐" id="btntuijian" onclick="t_setpw('gvDigiBooks','tuijian','请选择一个需要推荐的电子图书');" class="ToolbarBtn IconAdd" runat="server" />在运行时报'document.getElementById(...)' 为空或不是对象。

解决方案 »

  1.   

    有id为gvDigiBooks或 btnid 的组件吗
      

  2.   

    你需要runat="server"吗,不需要就去掉,如果需要
    onclick="xx"就改成 onclientclick="xx"
      

  3.   

    var gv = document.getElementById("gname");
      

  4.   

    var gv = document.getElementById("gname");
      

  5.   

    页面中有gvDigiBooks和tuijian这两个对象吗?
    还是写错了.
      

  6.   

    document.getElementById("<%=gname.ClientID%>").value;
    试试看、因为你的HTM标记加了runat="server" 所以可能会根据ID会报这个错误。
      

  7.   

    var gv = document.getElementById("<%=gname.ClientID%>").value;
      

  8.   


    加了runat="server" id会变,你可以var a= document.getElementById("<%=gname.ClientID%>");
    看一看a有没有值。
      

  9.   

    gvDigiBooks 这个是什么?
    var gv = document.getElementById("gvDigiBooks ");? 
      

  10.   

    首先,检查一下gvDigiBooks和tuijian这两个控件是否存在,然后你这个js代码是写在页面上还是用户控件里,最好在打开的页面上查看一下源代码,确定控件的名称有没有错误