大家帮忙看看代码,文本域内容检查的问题
我写了个check.asp,以下是部分内容:
dim er,i,k
dim a()
id=trim(request("userid")) '接收并检查userid
if id=empty or len(id)<3 then
er=1 '错误类型为1
call ernum
else
redim a(len(id))
for i=1 to len(id) '将id字符串的内容放到数组里
a(i)=mid(sy,i,1)
next
for i=1 to len(id)-1
if a(i+1)-a(i)=0 then '判断是否输入了重复的字符
k=0
else
k=1
end if
next
if k=0 then
er=1
call ernum
end if
end if
sub ernum
select case er
case 1
response.Write "<script language=javascript>alert('请正确填写您的ID!');javascript:history.go(-1)</script>"
case 2
response.Write "<script language=javascript>alert('请正确填写您的Email!');javascript:history.go(-1)</script>"
case 3
response.Write "<script language=javascript>alert('请正确填写留言!');javascript:history.go(-1)</script>"
end select
end sub
请教一个问题,我写了不能提交小于3个字符的userid,为什么我提交一个字符的userid,还是能正常显示,谁能帮我一下忙,看看错在哪里?
(我的留言板有3个文本域要检查,id、email、留言,我提交的内容是3个字段各打一个字符,可以显示,另2个字段的检查我还没写)
问题点数:20、回复次数:15Top
1 楼Drowning(悠長假期~~)回复于 2004-09-04 18:49:03 得分 6
ernum函数最后加上response.endTop
2 楼Drowning(悠長假期~~)回复于 2004-09-04 18:50:22 得分 0
javascript:history.go(-1)
~~~~~~~~~~这个去掉Top
3 楼cdsun()回复于 2004-09-04 19:01:31 得分 4
ernum函数最后加上response.end
Top
4 楼zltostem(五湖沸人)回复于 2004-09-04 19:04:29 得分 2
是楼主的接值部分有问题,看下面的代码,只是把变量id的值换成了一位的"a",提示信息一样会出现,请楼主看看传值和接值部分的部分~~~
<%
dim er,i,k
dim a()
'id=trim(request("userid")) '接收并检查userid
id="a"
if id=empty or len(id)<3 then
er=1 '错误类型为1
call ernum
else
redim a(len(id))
for i=1 to len(id) '将id字符串的内容放到数组里
a(i)=mid(sy,i,1)
next
for i=1 to len(id)-1
if a(i+1)-a(i)=0 then '判断是否输入了重复的字符
k=0
else
k=1
end if
next
if k=0 then
er=1
call ernum
end if
end if
sub ernum
select case er
case 1
response.Write "<script language=javascript>alert('请正确填写您的ID!');javascript:history.go(-1)</script>"
case 2
response.Write "<script language=javascript>alert('请正确填写您的Email!');javascript:history.go(-1)</script>"
case 3
response.Write "<script language=javascript>alert('请正确填写留言!');javascript:history.go(-1)</script>"
end select
end sub
%>Top
5 楼jerryf(object Sender)回复于 2004-09-04 19:20:51 得分 0
是啊,我的意思是不让留言者输入3个字符以下的id,以及有重复字符的id,比如aaaaaa
我如果单输入一个a,其他字段不输,会有提示信息的,但是如果id输入a,email输入a或者其他的一个字符,留言输入a或者其他的一个字符,就会正常提交,这是为什么?Top
6 楼zltostem(五湖沸人)回复于 2004-09-04 19:39:18 得分 1
a(i)=mid(sy,i,1)
→
这里的"sy"是什么~~~Top
7 楼jerryf(object Sender)回复于 2004-09-04 19:53:22 得分 0
哦,是另一个字段的值,因为a数组我还要用,所以定义的是动态,我改过来了,但是还是不行,问题还是存在,:(Top
8 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2004-09-04 19:59:44 得分 4
if id=empty or len(id)<3 then
er=1 '错误类型为1
call ernum
Response.End
else
……
end ifTop
9 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2004-09-04 20:03:01 得分 1
我怀疑你客户端的form表单里不只一个文本框控件的name属性是“userid”。。。。
各个控件名字最好唯一Top
10 楼jerryf(object Sender)回复于 2004-09-04 21:02:57 得分 0
我看过了,只有一个是userid,没错Top
11 楼zltostem(五湖沸人)回复于 2004-09-04 21:37:50 得分 1
for i=1 to len(id) '将id字符串的内容放到数组里
a(i)=mid(sy,i,1)
next
for i=1 to len(id)-1
...
→
这里是否有点矛盾
改为:
a(i)=mid(id,i,1)
...
for i=1 to len(id)
呢~~~
Top
12 楼jackson171(阿麒)回复于 2004-09-04 22:02:23 得分 1
将id="a"去掉,您试一试,看是否可以?Top
13 楼jerryf(object Sender)回复于 2004-09-05 01:51:47 得分 0
问题解决了,是response.end的问题,谢谢高人!我想请教一下,我ernum里写了返回前一页的啊,为什么还能提交成功?为什么加了response.end就对了?Top
14 楼jerryf(object Sender)回复于 2004-09-05 22:20:34 得分 0
自己顶一下,希望大家回答我。Top
15 楼jerryf(object Sender)回复于 2004-09-06 12:10:45 得分 0
算了,结贴了Top




