<asp:DropDownList
              ID="ddl_ID" runat="server">
              <asp:ListItem Selected="True" Value="2">用品</asp:ListItem>
              <asp:ListItem Value="3">商铺</asp:ListItem>
              <asp:ListItem Value="478">资讯</asp:ListItem>
          </asp:DropDownList>JS代码:
var objDrp=document.getElementById("ddl_ID");
alert(objDrp);打出来的是null   为什么啊  就这不明白
var ID = objDrp.options[objDrp.selectedIndex].value;

解决方案 »

  1.   

    var objDrp=document.getElementById('<% =ddl_ID.ClientID%>'); 
    alert(objDrp);
    var ID = objDrp.options[objDrp.selectedIndex].value;可能你用了MasterPage之类的,生成后的dropdownlist的id变了
      

  2.   

    还有一种可能的情况是你 的js放置的地方不对,把js代码放置在DropDownList 的下面<asp:DropDownList 
                  ID="ddl_ID" runat="server"> 
                   <asp:ListItem Selected="True" Value="2">用品 </asp:ListItem> 
                   <asp:ListItem Value="3">商铺 </asp:ListItem> 
                   <asp:ListItem Value="478">资讯 </asp:ListItem> 
               </asp:DropDownList> 
    <script>
    var objDrp=document.getElementById("ddl_ID"); 
    alert(objDrp);打出来的是null   为什么啊  就这不明白 
    var ID = objDrp.options[objDrp.selectedIndex].value; 
    </script>
      

  3.   

    你的这个ID是服务器控件ID,document.getElementById("ddl_ID")这个是取客户端的ID
      

  4.   

    2楼的  不行啊  打出的还是null
      

  5.   


    跟JS放的为止没有关系,你执行这行代码的时候,JS肯定已经加载完成了吧?难道是在加载过程中运行这段JS,我看不太可能
      

  6.   

    如果你的js代码放置在了上面 页面先由上往下执行先执行的是alert()事件这个时候这个DropDownList  控件还没有呈现出来 应该就是null
      

  7.   

    错了  1楼  按你的代码  打出来还是  null
      

  8.   

    再写一遍....
    var obj = document.getElementById('<%= ddl_ID.ClientID %>');
    alert(obj)注意括号里是单引号而非双引号
      

  9.   

    我是复制你的代码的啊  ldw701  还是不行
      

  10.   

    var objDrp=document.getElementById('  <% =ddl_ID.ClientID%>'); 
      

  11.   

    <script type="text/javascript">
        window.onload=function()
        {
            var objDrp=document.getElementById("ddl_ID"); 
            alert(objDrp);//打出来的是null   为什么啊  就这不明白 
             var ID = objDrp.options[objDrp.selectedIndex].value; 
            alert(ID);
        }
    </script>
    HTML&JS语句块是自上而下解析执行的
    如果ddl_ID还没有解析你就去DOM树里去找,当然找不到
    你可以等整个DOM加载完毕再去找(如上面的方法)
    或者你把JS语句放到ddl_ID后面
      

  12.   

    行了  1楼的  你先发的var obj = document.getElementById(' <%= ddl_ID.ClientID %>');
    '后多了个空格  就不行了  现在行了  谢谢大家