可以用
formName.elements[n]來表示它
n表示這個控件元素是formName表單中的第n+1個元素

解决方案 »

  1.   

    可以用
    formName.elements[n]來表示它
    n表示這個控件元素是formName表單中的第n+1個元素
      

  2.   

    <input name="haha"><script>
    haha.value="123";
    </script>
      

  3.   

    <input name="arr[]">
    <script>
    document.all("arr[]").value="123";
    </script>
      

  4.   

    <input name="haha"><script>
    haha.value="123";
    </script>
      

  5.   

    <input name="arr[]">
    <script>
    document.getElementsByName("arr[]")[0].value="123";
    </script>
      

  6.   

    to emu:
    這是用於php的,表單中可能有很多元素名稱都叫做arr[].
    提交後得到數組
      

  7.   

    emu,後來這個答案不錯,剛看到
    哈哈
      

  8.   

    all返回元素或元素集合,有多个的时候可以加下标的:document.all("***")[0],只有一个的时候返回元素,不能加下标。
    getElementsByName总是返回元素集合,即使只有一个也要加下标
      

  9.   

    getElementsByName這個方法我怎麽在幫助文檔裏面沒有見到過。用於這種情況下面,這種方法確實比前一種方法好多了
      

  10.   

    在IE6里可以为元素的一个属性赋值对象。
    这个特性很爽,哈哈..........
    <input name="haha">
    <SCRIPT>
    var loOBJ = new Object();
    loOBJ.x = 10;
    haha.Data = loOBJ;
    alert(haha.Data.x);
    </SCRIPT>
      

  11.   

    我一直以为是javascript的特性呢,ie5没有吗?
      

  12.   

    呵呵,没有星星的,不许蒙emu,即使你快要有了也不许。我到IE5下面试过了,没有问题。
      

  13.   

    其实这个帖子和 http://www.csdn.net/expert/topic/787/787260.xml?temp=.3302881 没有什么差别。呵呵这叫一招鲜吃遍天。
      

  14.   

    用getElementsByName的好处是:无论多少个都是数组,
    而用all必须多于一个才是数组,这样就少了一层判断
    <input name="arr[]" type=checkbox>
    <input type=button onclick=check()>
    <script>
    function check(){
    var o=document.getElementsByName("arr[]")
    for(i=0;i<o.length;i++)if(o[i].checked)break;
    if(i==o.length)alert("不能不选")
    }
    </script> 
      

  15.   

    用getElementsByName的好处是:无论多少个都是数组,
    而用all必须多于一个才是数组,这样就少了一层判断
    <input name="arr[]" type=checkbox>
    <input type=button onclick=check()>
    <script>
    function check(){
    var o=document.getElementsByName("arr[]")
    for(i=0;i<o.length;i++)if(o[i].checked)break;
    if(i==o.length)alert("不能不选")
    }
    </script> 
      

  16.   

    呵呵,微软的上很严格的教作集合而不叫数组,我想是有原因的。〕现在我怀疑所有的Array类型对象都根本不是数组而是哈希表对象。只不过如果键为整数型的话可以修改length属性。
      

  17.   

    下面的结果一样,你猜哪个是哪种类型?呵呵
    <script>
    var t1={1:2,3:4}
    var t2=[1,2,3,4]
    alert(t1[1]);
    alert(t2[1]);
    </script>
      

  18.   

    第一个是哈希表,第二个说白了也是哈希表,不过键是由系统自动创建的,所以算是数组。对不对?不过,第一个的用法真的没见过哦。见识太少。alert (t1.length)
    alert (t2.length)
      

  19.   

    <script>
    var t2=[1,2,3,4]
    t2[100] = 101
    alert(t2.length)
    alert(t2[99])
    </script>
    虽然改了length属性,但也仅仅是改了length属性而已。和这个并没有质的差别:
    <script>
    var t2=[1,2,3,4]
    t2["abc"] = 101
    alert(t2.length)
    alert(t2[99])
    </script>
      

  20.   

    只是访问方法不大一样了,不能通过下标。
    <script>
    var t2=[1,2,3,4]
    t2["abc"] = 101
    for (var a in t2)
    alert(a+"="+t2[a])
    </script>
      

  21.   

    通俗解释:Array继承并发扬了Object,是一个特例罢了,
    for(ob in 也并不是哈希表独有的特性
      

  22.   

    “form(key in obj)也并不是哈希表独有的特性”不明白:既然可以这么访问,就可以看成哈希表啦。javascript中本来就没有哈希表,只有对象,但是象这样子来访问对象,就是把它看成是哈希表啊。
      

  23.   

    这么多高手帮助我,谢谢,我一贴出来就已经想到解决办法了。<input name="arr[]" id="ar">
    <input name="arr[]" id="ar">
    <input name="arr[]" id="ar"><script>
    f=document.formname;
    for(i=0;i<document.formname.ar.length;i++)
    {
    f.ar[i].value="123";
    }
    </script>这样既可以用js操作id=ar的ar数组,又可以把name=arr[]的arr数组传给PHP!!
    呵呵。谢谢
      

  24.   

    呵呵,我们是把id留给你派其他用场的嘛,你没说能动id,谁敢动他?