<input type = "hidden" name="hi" value="" >
这个问题你改一下name,然后这种冲突不就解决了?getElementById并非绝对根据id,form元素的name优先权可能是大于其id的吧~

解决方案 »

  1.   

    对于前台来说,name和id的区别我一直很模糊,同一个元素(除了框架),name、id都可以引用,document.getElementById(oId)得到的是页面中第一个id或name为oId的对象,document.getElementsByName(oName)得到的是页面中所有id或name为oId的对象集合……。
    总是莫名其妙,所以我很注意,除非是特殊需要,一般name/id都不会重复。
    对于后台,如果form元素没有name,那么就没有办法用request.form("name")的方式(asp中)来得到值
      

  2.   

    to: xinyunyishui(心云意水) 
       设计是别人做的,是为了把label值提交上去,为每个label设了一个同名的hidden.我也觉的不合适.我现在解决的办法很勉强,是把hidden生成在画面最后,保证取id时取到label.还有什么好办法吗?
      

  3.   

    如果你要取lable的话可以用
    var obj = document.all.tags("LABEL");
    for (var i=0;i<obj.length;i++)
    {
    alert(obj[i].name);
    }