<INPUT TYPE="text" id="a" value="3">
  <INPUT TYPE="text" id="a2" value="8">
  <INPUT TYPE="text" id="a3" value="4">
  <INPUT TYPE="text" id="a4" value="3">
  <INPUT TYPE="text" id="a5" value="9">
  a6 a7....以上在数据库 存在同一列中 我想现在页面上js验证数据不能重复,然后用ajax验证数据库与数据库的内容不重复。请问怎么实现js验证本页面内的value不能重复出现,并反会重复value的ID。

解决方案 »

  1.   

    arr存放重复id
    function fn(){
    var els = document.getElementsByTagName("input"),
    obj = {},
    arr = [];
    for (var i = 0, j = els.length; i < j; i++){
    var el = els[i];
    if (el.type === 'text'){
    if (obj[el.value]){
    arr.push(el.id);
    } else {
    obj[el.value] = el.value;
    }
    }
    }
    alert(arr)
    }
      

  2.   

    <!doctype html>
    <html>
        <head>
            <meta charset="gb2312" />
            <title></title>
            <style>
            </style>
        </head>
        <body>
            <INPUT TYPE="text" id="a1" value="3">
    <INPUT TYPE="text" id="a2" value="8">
    <INPUT TYPE="text" id="a3" value="4">
    <INPUT TYPE="text" id="a4" value="3">
    <INPUT TYPE="text" id="a5" value="9">
    <INPUT TYPE="text" id="a11" value="3">
    <INPUT TYPE="text" id="a12" value="8">
    <INPUT TYPE="text" id="a13" value="4">
    <INPUT TYPE="text" id="a14" value="3">
    <INPUT TYPE="text" id="a15" value="9">
            <script>
             function getTextInput(elem){
             var inputs = elem.getElementsByTagName('input');
             var testInputs = [];
             for(var i in inputs){
             if(inputs[i].type === 'text'){
             testInputs.push(inputs[i]);
             }
             }
             return testInputs;
             }
                function check(elems){
                 var obj = {},
                 repeat = {};
                 for(var i in elems){
                 var value = elems[i].value;
                 if(!obj[value]){
                 obj[value] = elems[i];
                 }else{
                 if(!repeat[value]){
                 repeat[value] = [];
                 repeat[value].push(obj[value].id);
                 }
                 repeat[value].push(elems[i].id);
                 }
                 }
                 return repeat;
                }
                var inputs = getTextInput(document);
                var repeat = check(inputs);
                for(var i in repeat){
                 alert("ID: "+repeat[i]+", value: "+i);
                }
            </script>
        </body>
    </html>