<input name='mob[]'  type='hidden' value='1' />
<input name='mob[]'  type='hidden' value='2' />
<input name='mob[]'  type='hidden' value='3' />
<input name='mob[]'  type='hidden' value='4' />
<input name='mob[]'  type='hidden' value='5' />
<input name='mob[]'  type='hidden' value='1' />
<script language=javascript>
var objs=document.getElementsByName("mob[]")
var temp=new Array()
for(var i=0;i<objs.length;i++)
{
temp[objs[i].value]='1'
}
var k=0;
for(var i in temp)
k++;
alert(objs.length==k)
</script>

解决方案 »

  1.   

    temp[objs[i].value]='1'
    如果值不是固定的呢!?
    比如
    <input name='mob[]'  type='hidden' value='1' />
    <input name='mob[]'  type='hidden' value='2' />
    <input name='mob[]'  type='hidden' value='1' />
    <input name='mob[]'  type='hidden' value='2' />
    <input name='mob[]'  type='hidden' value='2' />
    <input name='mob[]'  type='hidden' value='1' />
      

  2.   

    var obj = document.getElementsByName('mob[]');for(var i = 0, l = obj.length-1; i < l; i++){
     for(var j = 1,k=obj.length;j < k;j++){
      if (obj[i].value == obj[j].value)
      {
       alert('有重复值');
      }
     }
    }
      

  3.   

    再加一层循环
    <input name='mob[]'  type='hidden' value='1' />
    <input name='mob[]'  type='hidden' value='2' />
    <input name='mob[]'  type='hidden' value='3' />
    <input name='mob[]'  type='hidden' value='4' />
    <input name='mob[]'  type='hidden' value='5' />
    <input name='mob[]'  type='hidden' value='1' />
    <script language=javascript>
    var objs=document.getElementsByName("mob[]")
                      for(var j=0;j<objs.length;j++)
    for(var i=0;i<objs.length;i++)
    {
                if(objs[i].value==objs[j].value){
                            alert("存在相同值");
                            return;
                         }
    }
    </script>
      

  4.   

    水火 那个不管值是多少就可以的只要其中有2个相同的就会是false,
    temp[objs[i].value]='1'或其他都可以的
    你仔细看看代码想想
    如果没有相同的项,如下,所形成的temp数组就和document.getElementsByName("mob[]")
    的长度一样temp[1]='1'
    temp[2]='1'
    temp[3]='1'如果有相同的项,temp数组长度就会比ocument.getElementsByName("mob[]")
    数组短了,有2个是一样的了
    temp[1]='1'
    temp[2]='1'
    temp[1]='1'
      

  5.   

    2楼的方法很妙~~不过揪个毛病~~var temp=new Array();这句~~
    这句换成var temp=new Object();也一样~~
    因为既然要用到反射~也没必要用数组了