在ColdFusion中使用表单数组?

Jak*_*kub 8 html arrays coldfusion

我不知道如何在ColdFusion 9中处理这个问题,我有一个表单被提交(POST)与元素复选框,称为items [].

当我做一个<cfdump var="#form#" />没问题的时候,我得到所有用正确名称显示的项目,items[]例如:

struct 
ITEMS[] 13,14  
FIELDNAMES ITEMS[] 
Run Code Online (Sandbox Code Playgroud)

但是会<cfdump var="#form.items[]#" />导致错误.如何访问CF9字段值?以某种方式循环通过它?

我似乎无法对数组做任何事情来获取它的id?思考?我有点难过,ColdFusion不是在网上找到示例/引用的最简单的语言.;)

有没有正确的方法来解决这个问题?我需要从那里获取ID,以便我可以参考表单中检查的行,因此我可以跟进一个动作.

谢谢!

Hen*_*nry 24

ColdFusion中没有Form Array.有'[]'在年底不会使它的阵列.您可以从表单范围访问复选框值,如下所示:

FORM["ITEMS[]"]
Run Code Online (Sandbox Code Playgroud)

点符号不起作用的原因'[]'.请参阅:http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7fb2.html

复选框中的值只是逗号分隔值,即ColdFusion中的List

要遍历它,请使用cfloop list =:

<cfoutput>
  <cfloop index="i" list="#FORM['ITEMS[]']#">    
    #i#
  </cfloop>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

要将列表转换为数组,请使用ListToArray().有列表函数listGetAt(),但如果你正在进行大量的随机访问,那么首先将列表转换为数组会更聪明.

想一想,我有点难过,而且coldfusion不是在网上找到示例/参考的最简单的语言;)

  • FWIW,PHP将以"[]"命名的表单元素解释为数组.CF处理与逗号分隔的列表同名的表单元素. (6认同)