function $(v){return document.getElementById(v);}
function gInput(a,b){
var t="";
l=document.getElementsByName(a);
                for(i=0;i<l.length;i++)  
                {  
                    if(l[i].value)  
                    { t+=l[i].value+"|"         
                     }                                                                  
                }
if(t){$(b).value="|"+t;}
}<input name="tmpInput" id="position1" type="text" onblur="gInput('tmpInput','position')" />
<input name="tmpInput" id="position2" type="text" onblur="gInput('tmpInput','position')" />
<input name="tmpInput" id="position3" type="text" onblur="gInput('tmpInput','position')" />
<input name=position id="position" type="text" />
这样能将用户输入的值加到一起,并用“|”隔开,方便下一步用php explode。但是用户经常输入重复的值,比如三个框都输入“厨师”,数据库最后的值为“|厨师|厨师|厨师|”
如何能巧妙地加个检测,将重复的值去除?

解决方案 »

  1.   


    试看function $(v){return document.getElementById(v);}
    var t='';
    function gInput(a,b){
        var temp="";
        l=document.getElementsByName(a);
    for(i=0;i<l.length;i++){  
    temp=l[i].value.replace(/^\s*|\s*$/g,'');
    if(temp.length>0 && t.indexOf(temp)<0){ 
    t+=temp+"|";         
    }                                                                  
    }
        if(t.length>0){$(b).value="|"+t;}
    }
      

  2.   

    onblur的时候用===作下检测,判断当前框的值是否与其它2个框的任意一个值相同
      

  3.   

    核心内容相同,周边的你自己写吧
    http://topic.csdn.net/u/20111229/22/f6aa6dba-ed0d-4642-8e9d-a6557c701405.html
      

  4.   

    function gInput(tmpInput,position){
    var allobjs = $("[name='"+tmpInput+"']");
    var valusarray = [];
    for(var i=0;i<allobjs.length;i++){
    if($.inArray(allobjs.eq(i).val(),valuesarray){
    alert("包含相同的字段,此时程序可以结束或返回false");
    }else{
    valuearray.push(allobjs.eq(i).val());
    }
    }
    alert("所有name为"+tmpInput+"的文本框内容没有重复的值,此时程序结束,可以返回true或其它的操作");
    }
    上面的这个代码针对你的问题缩写,只要放在onblur里面就行。就是不管你有多少的文本框,他都会从头到尾一个一个的去比较,当遇到相同的,往下就不会去比较,直接弹出来提示“包含相同的字段,此时程序可以结束或返回false”。而当所有的文本框内容全部循环完毕都没有发现一样的值,那就是所有文本框的值都不一样。
    可能上述的代码里面包含jQuery1.6的内容。如果需要详细的帮助文档(CHM格式),请移步到  http://download.csdn.net/detail/chenjianhuacool/4019542 下载
      

  5.   

    alert("|厨师|厨师|厨|师|".match(/([^\|]+)(?!.*\1)/g).join("|"))