我使用ListEach函数以逗号分隔两个不同值的值。
像这样:<cfscript>
result = [];
listEach(form.getselection, function(value, index) {
switch (value) {
case "-2":
result.append(listLast(ListGetAt(form.get_items, index), "~"));
break;
case "-1":
result.append(ListGetAt(getselectiontext, index,',',true));
break;
default:
result.append(value);
}
});
</cfscript>
这是值的样子
GETSELECTION -2,105.0000,-1,-1,-2
GETSELECTIONTEXT ,450,455
GET_ITEMS 128177000001304041~ mytext~YES~41.47,128177000001518319~mytext2~YES~91.52,128177000001518343~mytext3~YES~242.53,128177000001460287~mytext4~YES~15.0,128177000001304009~mytext5~YES~125.84
所以,连接两者,我想得到的值为:
41.47,105.0000,450,455,25.84
但不知何故getselectiontext
中的值导致我遇到麻烦,我收到以下错误:
以下信息适用于网站开发人员以进行调试。 处理请求时发生错误 列表索引3无效。
在函数ListGetAt(list,index [,delimiters])中,index的值3不是第一个参数的有效值(此列表有2个元素)。有效索引的范围为1到列表中的元素数。
The error occurred in C:/inetpub/wwwroot/myproject/secure/portal.cfm: line 56
54 : break;
55 : case "-1":
56 : result.append(ListGetAt(getselectiontext, index,','));
57 : break;
58 : default:
答案 0 :(得分:0)
您的第二个列表{getselectiontext}包含2个项目,这些项目比使用ListEach迭代的{getselection}中的5个项目更热。
如果&#34; -1&#34;,您试图从索引3或索引4的{getselectiontext}获取一个不存在的列表项。
您需要查看提交的数据以及通过表单提交的数据。