回 帖 发 新 帖 刷新版面

主题:[讨论]关于request.form集合取值顺序的问题

我有一个表单处理程序,前台的form中,有input和select两种输入类型,后台我用request.form集合来取值,有几种方法:
<%
For i = 1 To Request.Form.Count
  Response.Write(i)
  Response.Write(":")
  Response.Write(Request.Form(i).item & "<BR>")
Next
%>
用这种方法我可以按着form中输入框出现的顺序来依次取得各值,但是用这种方法我不知道如何取得各个对应输入框的name。
第二种方法:
<%i=1
For Each item In Request.Form
  Response.Write(i)
  Response.Write( "-"&item)
  Response.Write(":")
[color=FF0000]  Response.Write(Request.Form(i) & "<BR>")[/color]i=i+1
Next
%>
这种方法我可以取得输入框的name,但是顺序是乱的,输入框的值由于是用“i”来限定的,所以顺序正常,但是这样一来,各个名称和值就无法按着顺序一一对应。
第三种方法:
<%For Each element In Request.Form %>
<%= element %>= <%= Request.Form(element) %> <BR>
<% Next %>
这种方法可以把name和value一一对应,但是顺序是乱的。

我想问一下,能不能让取到的值和名称按着出现的顺序一一对应?
就像下面这样:
A:1
B:2
C:3
D:4
E:5
F:6

回复列表 (共3个回复)

沙发

For Each item In Request.Form
  Response.Write "名称:" & item & "|"
  Response.Write "值:" & Request.Form(item) & "<BR>"
Next

板凳

这种方法我试过了,就是上面的第二种方式,这样可以把name和value对应起来但是顺序就是乱的,像这样:
E:5
A:1
C:3
F:6
B:2
D:4

3 楼

好像还真没有简单的方法。
既然能取到名称和值了,要不然放到集合里面,然后用冒泡一类的方法排序。

我来回复

您尚未登录,请登录后再回复。点此登录或注册