CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

大家帮忙看看代码,文本域内容检查的问题

楼主jerryf(object Sender)2004-09-04 18:36:13 在 Web 开发 / ASP 提问

我写了个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

相关问题

  • 如何在textarea文本域中显示HTML代码?
  • 如何检查不定项表单的文本??[附代码],跪求解决方法.
  • 如何将数据库里的html代码输出到文本域里啊??
  • 读取文本文件的代码
  • 求读取文本文件的代码
  • 求在html代码中取出文本的代码,高分
  • 求javascript代码中显示和隐藏文本框的代码。
  • 用代码向文本框中添加文本,如何使文本换行
  • 各位大拿,有谁知道ASP文本域中的回车换行的代码?
  • 关于代码格式检查

关键词

  • 字符
  • 字段
  • 检查
  • 内容
  • 看看
  • 提交
  • 输入
  • 问题
  • userid
  • history

得分解答快速导航

  • 帖主:jerryf
  • Drowning
  • cdsun
  • zltostem
  • zltostem
  • possible_Y
  • possible_Y
  • zltostem
  • jackson171

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo