表单遍历非空check,求人帮做JS
求高手帮我把JS函数做好
最完美的给分最多,对我有启发的也给分html如下:<html>
<head>
<title>遍历check</title>
</script>
<script language="JavaScript" type="text/JavaScript"><!--hide from older browser
function check(){
//请求高手解答
//就是Form里Table所有行的Text元素非空
//若有非空的话,文本框背景变为红色,不提交表单
//否则提交表单
}
//-->
</script>
</head><font SIZE="5"><b>遍历check</b></font><br /><form name="ha22kForm" method="post" action="XxxAction.do">
<table border="1">
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[0].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[0].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[0].utext3" maxlength="6" size="6" value="3">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[0].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[1].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[1].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[1].utext3" maxlength="6" size="6" value="3">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[1].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[2].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[2].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[2].utext3" maxlength="6" size="6" value="下面还有很多类似的行">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[2].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
</table>
共100件
<table>
<tr>
<td>
<input type="button" name="check" value="check" onclick="check();">
</td>
</tr>
</table>
</form></body>
</html>
求高手帮我把JS函数做好
最完美的给分最多,对我有启发的也给分html如下:<html>
<head>
<title>遍历check</title>
</script>
<script language="JavaScript" type="text/JavaScript"><!--hide from older browser
function check(){
//请求高手解答
//就是Form里Table所有行的Text元素非空
//若有非空的话,文本框背景变为红色,不提交表单
//否则提交表单
}
//-->
</script>
</head><font SIZE="5"><b>遍历check</b></font><br /><form name="ha22kForm" method="post" action="XxxAction.do">
<table border="1">
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[0].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[0].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[0].utext3" maxlength="6" size="6" value="3">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[0].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[1].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[1].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[1].utext3" maxlength="6" size="6" value="3">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[1].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[2].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[2].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[2].utext3" maxlength="6" size="6" value="下面还有很多类似的行">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[2].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
</table>
共100件
<table>
<tr>
<td>
<input type="button" name="check" value="check" onclick="check();">
</td>
</tr>
</table>
</form></body>
</html>
<head>
<title>遍历check</title>
<script language="JavaScript" type="text/JavaScript"><!--hide from older browser
function checkForm() {
var _form = document.getElementsByName("ha22kForm")[0];
var eText = _form.getElementsByTagName("INPUT");
for(var i = 0;i<eText.length;i++){
if(eText[i].type.toUpperCase() == 'TEXT')
eText[i].parentNode.style.backgroundColor='red';
}
}
//-->
</script>
</head>
<body>
<font SIZE="5"><b>遍历check</b></font><br /><form name="ha22kForm" method="post" action="XxxAction.do">
<table border="1">
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[0].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[0].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[0].utext3" maxlength="6" size="6" value="3">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[0].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[1].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[1].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[1].utext3" maxlength="6" size="6" value="3">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[1].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
<tr>
<td nowrap="nowrap">
1
<input type="hidden" name="ha22kResult[2].utext99" value="1">
</td>
<td nowrap="nowrap">
<input type="hidden" name="ha22kResult[2].utext4" value="4">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[2].utext3" maxlength="6" size="6" value="下面还有很多类似的行">
</td>
<td nowrap="nowrap">
<input type="text" name="ha22kResult[2].utext1" maxlength="20" size="20" value="下面还有很多类似的文本框">
</td>
</tr>
</table>
共100件
<table>
<tr>
<td>
<input type="button" name="check" value="check" onclick="checkForm();">
</td>
</tr>
</table>
</form></body>
</html>
//searchClass: 被搜索的class
//node:被搜索的节点及子节点
//tag:被搜索的标签
//楼主,用你那点分换这个函数我觉得我亏了。
//你所要的效果可以从这个函数改。
var getElementsByClassName = function (searchClass, node,tag) {
if(document.getElementsByClassName){
return document.getElementsByClassName(searchClass)
}else{
node = document.getElementById(node) || document;
tag = tag || "*";
var classes = searchClass.split(' '),
elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag),
patterns = [],
returnElements = [],
current,
match;
var i = classes.length;
while(--i >= 0){
patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));
}
var j = elements.length;
while(--j >= 0){
current = elements[j];
match = false;
for(var k=0, kl=patterns.length; k<kl; k++){
match = patterns[k].test(current.className);
if (!match) break;
}
if (match) returnElements.push(current);
}
return returnElements;
}
}
var _form = document.getElementsByName("ha22kForm")[0];
var eText = _form.getElementsByTagName("INPUT");
for(var i = 0;i<eText.length;i++){
if(eText[i].type.toUpperCase() == 'TEXT' && eText[i].value == '')
eText[i].parentNode.style.backgroundColor='red';
}
}漏了非空检测
input type="text" name="ha22kResult[N].utext3"
N取值为0,1,2,3,4,到N怎么定位啊?
楼上几位的我都看了下 看不懂哦
我这个循环是从FROM中获得每一个 TYPE=TEXT 的 INPUT 进行检查是否为空如果是你这里说的这个,很简单,用 document.getElementsByName("ha22kResult["+ i +"].utext3")[0]
即可
只检查每行的utext3,不管utext4,
如何做呢?
这个也帮我搞出来吧
var _form = document.getElementsByName("ha22kForm")[0];
var eText = _form.getElementsByTagName("INPUT");
//正则匹配name
var eName = /^ha22kResult\[\d+\].utext3$/;
for(var i = 0;i <eText.length;i++){
if(eText[i].type.toUpperCase() == 'TEXT' && eText[i].value == '' && eName.test(eText[i].name))
eText[i].parentNode.style.backgroundColor='red';
}
}