请问是什么原因?代码附上
    <script language="javascript">
        var idCounter = 1; 
        function fnClone() 
        { 
            var oRow = document.getElementById("toprow").cloneNode(true); 
            
            document.getElementById("table1").childNodes[0].appendChild(oRow); 
            
            oRow.id = "row" + (++idCounter); 
        } 
        function fnget()
        { 
            var ar=[];
            var bb=document.getElementsById('<%=txtcomcd.ClientID%>'); 
            for(var i=0;i <bb.length;i++)
            { 
            alert(bb[i].value) 
            } 
        } 
       
  </script>HTML:
            <tr class="tblrow" id="toprow">
                <td Width = 50px align=center>
                    <asp:CheckBox ID="C1" Text="" runat="server" />
                </td>
                <td width =200px align=left>
                    <asp:TextBox id="txtcomcd"  runat="server" ></asp:TextBox></td>
                <td width =100px align=center>
                    <asp:DropDownList ID="DropDownList1" runat="server">
                    </asp:DropDownList>
                </td>
                <td width =125px align=center>
                    <asp:TextBox ID="sunumbig" runat="server" Width=30px></asp:TextBox>
                    &nbsp; /&nbsp;
                    <asp:TextBox ID="sunumsmall" runat="server" Width="30px"></asp:TextBox>
                </td>
                <td width =75px align=center>
                    <asp:Label ID="Label100" runat="server" Text="Label"></asp:Label>
                </td>
                <td width =125px align=center>
                    <asp:TextBox ID="TextBox1" runat="server" Width=100px></asp:TextBox>
                </td>
                <td width =125px align=center>
                    <asp:TextBox ID="TextBox2" runat="server" Width=100px></asp:TextBox>
                </td>         
            </tr>

解决方案 »

  1.   

    document.getElementsByIdgetElements
      

  2.   

    你用的是什么浏览器?cloneNode浏览器兼容性有问题,有的浏览器不支持http://blog.csdn.net/cheng5128/archive/2010/05/16/5598892.aspx
      

  3.   

    document.getElementById("table1")是支持的
    table1是否存在
    cloneNode存在兼容问题 
      

  4.   

    对的 不是所有的都支持cloneNode的
      

  5.   

    谢谢各位.
    现在解决了.document.getElementById("table1")确实可以,我用IE,cloneNode也没有问题.下面的var bb=document.getElementsById('<%=txtcomcd.ClientID%>'); 改写成var bb=document.getElementsByName('<%=txtcomcd.ClientID%>'),并给textbox赋了个相同名称的name就可以了。就是不知道什么原因 
      

  6.   

    var bb=document.getElementsById('<%=txtcomcd.ClientID%>'); 
    -------------------------------------------------------------你这这么明显的错误在#1就告诉你了
      

  7.   

    document.getElementById("toprow")这么写是有问题的;原因在生成html时客户端id改变了。在toprow前加了很多前缀,楼主不妨改成如下试试:
    document.getElementById("<%=toprow.ClientID%>").
      

  8.   

    cloneNode并没有问题,可以复制行.问题是行内textbox取值的问题.如果照阿非说的使用getElementsById的话没有报错,但是alert(bb[i].value) 没有效果,就是button事件没有效果.
    请各位明鉴
      

  9.   


    使用了document.getElementById("<%=toprow.ClientID%>")后反而提示"上下文中没有toprow对象"
    头大罗.
      

  10.   

    我晕,我想告诉你的是应该是var bb=document.getElementById('<%=txtcomcd.ClientID%>');  而不是 var bb=document.getElementsById('<%=txtcomcd.ClientID%>');  getElementsById 多了一个s
      

  11.   


    +1
    document.getElementById
    document.getElementsByName
      

  12.   


    你的原文:var bb=document.getElementsById('<%=txtcomcd.ClientID%>'); 
      

  13.   


    .ClientID方法好像是对服务器空间而言的吧,toprow本来就是客户端的
      

  14.   

    .ClientID只有在使用master page或者用户自定义控件时才需要