ASP Classic:在“Request.Form()”中放置一个“变量”

时间:2017-01-25 11:28:24

标签: vbscript asp-classic

我有一个表格会将一组数据发送到ASP页面 假设这个数组叫做“矩阵”。

通常,在接收表单的ASP上,我会将其写出来从数组“matrix”中检索表单输入。

Request.Form("matrix[]")(i)  where i = 1, 2, 3 which are the elements in the array.

假设我想做一个像这样的变量

a="matrix"

我希望使用此变量a并将其放入请求表单中,而不是编写"matrix",以便它看起来像这样

Request.Form(a[])(i)

怎么做?目前,我的所有尝试都显示为空白。例如当我尝试让它们出现在带有response.write的页面上时,什么都没有显示出来。

请帮助我或让我知道如果无法完成,我已经花了好几个小时。

2 个答案:

答案 0 :(得分:2)

Request.Form("matrix[]")的字符串值为"matrix[]"而不是名为"matrix"的字符串数组。

所以你需要做任何一次

a = "matrix[]"
Request.Form(a)(i)

a = "matrix"
Request.Form(a & "[]")(i)

答案 1 :(得分:2)

与需要添加方括号的PHP不同,在经典ASP中,您只需要为要组合成数组的元素指定相同的名称。

HTML应为:

<input type="text" name="matrix" />
<input type="text" name="matrix" />
<input type="text" name="matrix" />

然后你可以像这样迭代提交的值:

For x=1 To Request.Form("matrix").Count
    Response.Write("Value of matrix #" & CStr(x) & "is: " & Request.Form("matrix").Item(x))
Next

请注意,即使用户将其留空,也会包含所有元素。