<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。
<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。
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)
}
<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>