日期:2014-05-16  浏览次数:20457 次

javascript找出不同TEXT,但内容相同的项
一个页面上有100个TEXT,name属性是由1、2、3。。。。。。100组成。
用户可以100个TEXT全填,也可以只填其中几个。
在提交时,我要判断出有哪一些TEXT的内容是重复,然后清空相同的内容,让用户重填。
请问有什么好的方法吗?

------解决方案--------------------
<script language=javascript defer>
var a=new Array()
for(var i=0;i <100;i++)
{
a[a.length]= " <input name=haha type= 'text '> "
}
document.getElementById( "div1 ").innerHTML=(a.join( " "))
function show()
{
var objs=document.getElementsByName( "haha ")
var temp=new Array()
for(var i=0;i <objs.length;i++)
{
temp[i]=new Array(objs[i].value,objs[i])
}
var temp2={}
for(var i=0; i <temp.length; i++)
{
if(typeof temp2[temp[i][0]] == "undefined ")
{
temp2[temp[i][0]] = 1;
}
else
{
temp[i][1].value= " "
}
}
}
</script>
<div id= "div1 "> </div>
<input name= "button1 " type= "button " value= "提交 " onclick=show()>
------解决方案--------------------
给table 个id
<table id=tb width= "600 " border= "1 " align= "center " cellpadding= "0 " cellspacing= "0 " bordercolor= "#000000 ">
<tr>
<td> <div align= "center ">
<input name= "1 " type= "text " size= "5 ">
</div> </td>
<td> <div align= "center ">
<input name= "2 " type= "text " size= "5 ">
</div> </td>
<td> <div align= "center ">
<input name= "3 " type= "text " size= "5 ">
</div> </td>
<td> <div align= "center ">
<input name= "4 " type= "text " size= "5 ">
</div> </td>
<td> <div align= "center ">
<input name= "5 " type= "text " size= "5 ">
</div> </td>
</tr>
</table>
<script language=javascript defer>
function show()
{
var objs=document.getElementById( "tb ").getElementsByTagName( "input ")
var temp= new Array();
var len=objs.length;

for(var i=0;i <len;i++)
{

if(temp[objs[i].value]==undefined)temp[objs[i].value]=1;
else objs[i].value= " ";
}
}
</script>
<div id= "div1 "> </div>
<input name= "button1 " type= "button " value= "提交 " onclick=show()>

------解决方案--------------------
每个text最好给个ID 也是1-100

for(var i=1;i <100;i++){
var itxt = document.getElementById(i+ ' ');
for(var j=i+1;j <101;j++){
otxt = document.getElementById(j+ ' ');
if (itxt.value==otxt.value){
itxt.focus();
return itxt.value= ' ';
}
}
}

代码没有测试,具体思路是:从第一个控件开始,每个都跟其后的控件比较,检测顺序可以反过来