eri*_*rik -1 coldfusion coldfusion-9
在我的表单中,我有一个带方括号的元素:
<input name="bodyIDList[]" id="bodyIDList" value="">
Run Code Online (Sandbox Code Playgroud)
当我将此页面传递给ColdFusion时,如何将其视为表单变量?作为列表还是数组?
不知道你为什么要问这个问题 - 创建一个测试并自己找出它需要几秒钟的时间!
测试它的代码很简单:
<cfoutput>
<form action="#CGI.SCRIPT_NAME#" method="post">
<input name="bodyIDList[]" id="bodyIDList" value="">
<button type="submit">go</button>
</form>
</cfoutput>
<cfdump var=#Form# />
Run Code Online (Sandbox Code Playgroud)
运行它,按go,看看转储.
但是,既然我们现在已经有了这个问题,我不妨给出一个完整的答案,因为实际上有一件有趣的事情需要注意......
如果您在Adobe ColdFusion 9(或任何其他版本的CF)上运行该代码,您将获得一个名为bodyIDList[]
- 即Form['bodyIDList[]']
- 的单个值的字符串变量.
如果您有多个这些字段,您仍然会得到一个带逗号分隔列表的字符串.
由于它在变量名中包含括号,因此无法使用点符号访问此字段.
以上所有内容也适用于最新的Open BlueDragon.
但是,如果你使用Railo,你会得到一个不同的行为(从PHP复制),它会给你一个名为的变量bodyIDList
- 即没有括号的Form ['bodyIDList'] - 其中包含一个数组
如果您有多个这些字段,您将获得一个包含多个元素的数组.
目前没有管理员配置选项可以使Railo与ACF兼容,因此:
如果您正在编写跨引擎CFML代码,请不要使用带括号的表单字段名称.
(好吧,除非你知道并愿意处理这些差异).
归档时间: |
|
查看次数: |
1014 次 |
最近记录: |