我有这个代码,当我运行它时发生了一些奇怪的事情。
我的字段编号如101512到101520.我已经使用LEFT函数去除最后两位数并保留1015.当我为第一个运行循环函数时它给了我1015但是其余的它给出了我101它会像这样消灭最后一位数字:
d = Split(Request("field"),",")
For i = 1 To UBound(d)
Responce.Write(Left(d(i),4))
Next
结果
1015
101
101
101
...
有人知道发生了什么吗?
答案 0 :(得分:6)
我的猜测是Request("field")
可能会返回如下字符串:
101520, 101521, 101522
注意每个逗号后面的空格。因此,当您应用Left()
并将值打印到HTML输出时,您没有注意到空格,但只看到三位数,因为空间计为第一位数
尝试查看是否是这种情况的一件事是将代码更改为以下内容:
Left(Trim(d(i)), 4)
这样,在应用Left()
之前,会删除值周围的任何空格。
答案 1 :(得分:1)
迭代“多值”请求项的正确方法实际上是:
For i = 0 To Request("field").Count-1
Response.Write(Request("field").Item(i) & "<br />")
Next
这将迭代实际值而不使用split
..