具体说明如下,在一网页中动态生成一个textarea对象,但我在表单遍历的时候为什么总是原来的数量呢?怎么得到动态后生成的数量呢?

解决方案 »

  1.   

    所有生成的textarea对象的名称都是items,做如下时:var kwitems = document.getElementsByName("items");
    kwitems.length都是等于原来的数值,而我想得到动态后的数值,该怎么做呢?
      

  2.   

    试一下这个.<body>
    <input type="button" onclick="AddText()" value="Add">
    <input type="button" onclick="CountText()" value="Count">
    <script>
    function AddText()
    {
        var txt = document.createElement("textarea");
        //注意.要指定id
        txt.id = "items";
        //name可有可无.你可以试一下.
        txt.name = "items";
        document.body.appendChild(txt);
    }
    function CountText()
    {
        var iCount = document.getElementsByName("items").length;
        alert(iCount);
    }
    </script>
      

  3.   

    input2.setAttribute("name","items");          //是这句,ms好象禁止了对动态生成对象进行setAttribute设置名称,但不会提示出错但id是可以的:setAttribute()或象楼上的一样都可以呀,取数量时用getElementsById("items").length吧~
      

  4.   

    to:wanghr100(灰豆宝宝.net(多爱我一天))
        var iCount = document.getElementsByName("items").length;
        alert(iCount);
        以上的方法只能取得最初的值,对于动态增加的控件不能取得。to:hbzyduwu(鞋带又松了~) 
        你的方法我没有试过,不知道行不行。
    后来那天晚上2点多的时候搞定了,不过不能连续发三次以上的信息。
    所以没有发贴了
    var tritems =  document.getElementsByTagName("textarea");可以取得动态加进去的控件。tritems[i].value的方法可以取得所有控件的数值。