asp 表单提交验证问题
这个代码是调查问卷(答案选项为ABCD)提交表单后的一个操作,自己添加里一段表单验证的代码,就是当所有的问题都回答完整时表单提交,否则返回“投票失败,请检查您的投票选项是...
这个代码是调查问卷(答案选项为A B C D)提交表单后的一个操作,自己添加里一段表单验证的代码,就是当所有的问题都回答完整时表单提交,否则返回“投票失败,请检查您的投票选项是否选择正确”大家帮忙看看有什么问题没有
为什么当问卷第一题回答时即使其他问题不回答,表单照样提交到数据库里,但是显示说表单未填写完整,当第一题不回答时也同样是提示错误,但表单数据不会提交到数据库里
代码在这里
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META http-equiv=content-type content="text/html; charset=gb2312">
<!-- #include file="conn.asp" -->
<%
on error resume next
dim i,j
set rs=server.createobject("adodb.recordset")
sql="select * from tm order by id"
rs.open sql,conn,1,1
i=0
j=0
do while not rs.eof
i=trim(rs("id"))
check1="checkbox"+i+"1"
check2="checkbox"+i+"2"
check3="checkbox"+i+"3"
check4="checkbox"+i+"4"
name1=trim(request(check1))
name2=trim(request(check2))
name3=trim(request(check3))
name4=trim(request(check4))
if name1="" and name2="" and name3="" and name4="" then
response.write "<script>alert('投票失败,请检查您的投票选项是否选择正确!');history.back();</script>"
response.end
end if
set rs1=server.createobject("adodb.recordset")
sql1="select * from vote"
rs1.open sql1,conn,1,3
rs1.addnew
rs1("tmId")=i
rs1("a")=name1
rs1("b")=name2
rs1("c")=name3
rs1("d")=name4
rs1.update
rs1.close
set rs1 = nothing
rs.movenext
loop
rs.close
set rs=nothing
response.Write "<script>alert('提交成功!');window.navigate('Votes.asp');</script>"
%>
其中
if name1="" and name2="" and name3="" and name4="" then
response.write "<script>alert('投票失败,请检查您的投票选项是否选择正确!');history.back();</script>"
response.end
end if
这段使我自己加的表单验证
问题补充:问题不再and那里 如果用OR的话无论什么情况都会提示表单未填写完整 我感觉不是那里的问题 ~~~~~~~~~~~~~~~~
换成OR的话即使把所有的问题都回答了,也返回错误‘投票失败,请检查您的投票选项是否选择正确’ 展开
为什么当问卷第一题回答时即使其他问题不回答,表单照样提交到数据库里,但是显示说表单未填写完整,当第一题不回答时也同样是提示错误,但表单数据不会提交到数据库里
代码在这里
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META http-equiv=content-type content="text/html; charset=gb2312">
<!-- #include file="conn.asp" -->
<%
on error resume next
dim i,j
set rs=server.createobject("adodb.recordset")
sql="select * from tm order by id"
rs.open sql,conn,1,1
i=0
j=0
do while not rs.eof
i=trim(rs("id"))
check1="checkbox"+i+"1"
check2="checkbox"+i+"2"
check3="checkbox"+i+"3"
check4="checkbox"+i+"4"
name1=trim(request(check1))
name2=trim(request(check2))
name3=trim(request(check3))
name4=trim(request(check4))
if name1="" and name2="" and name3="" and name4="" then
response.write "<script>alert('投票失败,请检查您的投票选项是否选择正确!');history.back();</script>"
response.end
end if
set rs1=server.createobject("adodb.recordset")
sql1="select * from vote"
rs1.open sql1,conn,1,3
rs1.addnew
rs1("tmId")=i
rs1("a")=name1
rs1("b")=name2
rs1("c")=name3
rs1("d")=name4
rs1.update
rs1.close
set rs1 = nothing
rs.movenext
loop
rs.close
set rs=nothing
response.Write "<script>alert('提交成功!');window.navigate('Votes.asp');</script>"
%>
其中
if name1="" and name2="" and name3="" and name4="" then
response.write "<script>alert('投票失败,请检查您的投票选项是否选择正确!');history.back();</script>"
response.end
end if
这段使我自己加的表单验证
问题补充:问题不再and那里 如果用OR的话无论什么情况都会提示表单未填写完整 我感觉不是那里的问题 ~~~~~~~~~~~~~~~~
换成OR的话即使把所有的问题都回答了,也返回错误‘投票失败,请检查您的投票选项是否选择正确’ 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询