主题:  asp变量的传递问题!

lazybugs

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/10/27 10:29:31
#12002/6/12 17:32:51
实现这样的效果:
功能实际上和搜索引擎比较类似,情况如下:
1.假设有三个页面,一个表单页面search.htm,一个检测数据合法性页面check.asp,还有一个就是显示搜索结果页面list.asp.
2.顺序大致是这样,先填写要搜索的资料,然后post到check.asp检测数据的合法性,如果没有问题,就Response.Redirect()到list.asp显示搜索结果,功能很简单。

现在问题是:
1.从search.htm发来数据资料,怎样才转到能到list.asp里面呢?
在check.asp里面,我的变量是这样设置的:

mm_name=Request("name")
mm_male=Reques("male")

那么,我用Response.Redirect()转到list.asp,怎样才能接收到这两个变量呢?用Request.QueryString()吗?或者是在Response.Redirect()做些文章呢?

2.检验数据有效性问题,用javascript怎么实现呢?我想要在search.htm就检验一下数据的有效性,如果是无效数据,就阻止表单的发送,弹出提示框,告诉用户什么地方出问题了,这个代码怎么写呢?

3.哪个大虾知道代码,或者是有实际的页面,拿出来告诉小弟我吧!谢谢了!
或者是发到我的邮箱
mailto:lazybugs@163.com



jesron

职务:普通成员
等级:2
金币:1.0
发贴:393
注册:2001/1/27 0:06:31
#22002/6/12 21:29:21
晕,其实你那个check.asp页面可以省掉的。你可以在search.htm页面中插入一段javascript代码来验证数据的合法性。方法如下:
onsubmit="return checkform()">
.........


假设表单中有一文本框名为key,上面这段代码的作用就是判断key的内容是不是为空,如果为空弹出一提示窗口。你可以把check.key.value这一项中的key换为你想判断的其它项目,下面的key也要相应换成别的。

编辑历史:[这消息被jesron编辑过(编辑时间2002-06-12 21:31:09)]


lazybugs

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/10/27 10:29:31
#32002/6/13 8:55:45
呵呵,剩下的事情我就知道了,只要我知道代码,什么都好办。


还有,asp的问题,您还没有解决呀!
用Request.form()好像实现不了呢!



lazybugs

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/10/27 10:29:31
#42002/6/13 17:14:34
Jesron ,看看你的javascript代码,是不是哪里出错了呢?好像语法不对呀!无法检测到呢!



jesron

职务:普通成员
等级:2
金币:1.0
发贴:393
注册:2001/1/27 0:06:31
#52002/6/13 17:16:01
如果你真的想用check.asp的话,你就在check.asp页面里定义session吧,把传递过来的变量保存到session中,在list.asp里可以调用session



lazybugs

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/10/27 10:29:31
#62002/6/13 17:22:23
能不能说得详细一些,我要javascript就可以,这样正好把check给省略掉了!



lazybugs

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/10/27 10:29:31
#72002/6/13 17:27:21
你的jS似乎还缺个“}”结束语句呀!



jesron

职务:普通成员
等级:2
金币:1.0
发贴:393
注册:2001/1/27 0:06:31
#82002/6/13 17:33:21
lazybugs在上个帖子中说
引用:
你的jS似乎还缺个“}”结束语句呀!

是呀是呀,不好意思。用session的方法
session("mm_name")=request("mm_name")
.....
在list页面中把要用到request("mm_name")的地方全部替换成session("mm_name")就行了。



topgun

职务:普通成员
等级:2
金币:1.0
发贴:366
注册:2002/3/17 20:53:44
#92002/6/14 19:13:02
这段检测代码自动生成的,在你的submit按纽上应用它自带的检测功能!



lazybugs

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/10/27 10:29:31
#102002/6/15 12:43:40
自动检测是发生在没有任何数据的时候,但是,我这个是在某一项是空的,所以要单个检测呢!楼上的兄弟!



topgun

职务:普通成员
等级:2
金币:1.0
发贴:366
注册:2002/3/17 20:53:44
#112002/6/17 20:07:50
也支持的啊!
你可以自己设置那些文本框不能为空,而且一定要用什么数据类型!~
在表单中的submit按纽上加入behaviour——validate form行为,其中value表示是否必填,accept表示接受什么数据类型,几个英语单词不难吧~~!
这样就ok了啊!
还有不要用Response.Redirect()转到list.asp,用表单的action转过去,再用Request.form()接受!