现有一个表单,表单内有多行,和多项,行数不定,有可能是一行,有可能是多行,现要在提交过程中对有些项进行判断,不知道怎么做,如
序号 姓名 字段一 字段二 字段三
1 aa .. .. ..
.. .. .. .. ..
".."代表不定项和可以输入内容
现在想在提交表单的时候判断,如果字段二为空,字段三为空,这时提交的时候就停在相应行的字段二的位置上,不知道如何做,用javascript,如何做,或者用vbscript,
注意,行数是不定的,各字段都用的是字段名称每一行都一样,但ID不一样,例
如果字段二中的文本框的名称为aa的话,那么相应每一行的字段二的名称都为aa,但第一行的字段二的ID为1,二行的字段二的ID为2,请高手指点!!非常感谢!!
序号 姓名 字段一 字段二 字段三
1 aa .. .. ..
.. .. .. .. ..
".."代表不定项和可以输入内容
现在想在提交表单的时候判断,如果字段二为空,字段三为空,这时提交的时候就停在相应行的字段二的位置上,不知道如何做,用javascript,如何做,或者用vbscript,
注意,行数是不定的,各字段都用的是字段名称每一行都一样,但ID不一样,例
如果字段二中的文本框的名称为aa的话,那么相应每一行的字段二的名称都为aa,但第一行的字段二的ID为1,二行的字段二的ID为2,请高手指点!!非常感谢!!
你只要在你生成多表单的时候定义一个变量(我写的代码是vbscript),用来计数
例如:<%
dim i
i = 0
while (not dataSet.EOF)
i = i + 1
response.write("<input type=text name=字段一"&i&" size=5 value=2>")
response.write("<input type=text name=字段二"&i&" size=5 value=2>")
...其它字段省略
dataSet.movenext()
wend
%>
你在最后这个地方加上一个hidden项,把记录条数保存起来,然后你就可以获取了。
<input type="hidden" name="rcount" value="<%=i%>">
现在你就可以在你的submit按钮里面判断了,那些字段的数据为空,
dim count
count = request.Form("rcount")
然后你就可以根据这个数循环判断了 当然这个判断用javascript的去写可能交互性好些,原理是一样的,只是把循环改成javascript的循环语句就可以了
response.write("<input type=text name=字段一"&i&" size=5 value=2>")
response.write("<input type=text name=字段二"&i&" size=5 value=2>")
因为行数是从数据库中取,假如是按着符合字段一的所有人的数据取出来,这个时候,数据肯定是不一样的,所以行数也是不一样的,另外,字段名一样是为了到时提交表单的时候,到往数据库添加数据时候好用数组.现在就是不好判断每一行中的字段二和字段三都为空就提示出错,并且需要停在相应行的字段二上,
下面是有一个朋友回复的,
<script language="javascript">
function chk(){
var xx=document.getElementsByName("aa");
var i;
for(i=0;i<xx.length;i++){
if(xx[i].value==""){
alert(xx[i]+"is null");
return false;
}
}
}
</script>
但是ALERT提示出错的信息不正确,说OBJECT is null,并且不能返回,还是能直接提交.哪位高手再帮忙解决一下.
不过这里的人大部分都学过ASP。