11

我们只是在考虑将旧脚本移植到 ColdFusion 10,我相信我遇到了与使用相同名称的多个表单字段相关的功能错误/更改。在 ColdFusion 9 中,这些将用逗号附加到相关变量,但在 ColdFusion 10 中,如果变量的大小写不同,一个字段将覆盖另一个字段。

以下测试代码:

<form action="index2.cfm" method="post">
    <input type="hidden" name="test" value="1" />
    <input type="hidden" name="TEST" value="0" />
    <input type="submit" />
</form>

<cfdump var="#form#">

在 ColdFusion 9 上制作

TEST = 1,0

在 ColdFusion 10 上:

TEST = 0

有没有其他人经历过这种行为并知道这是一个错误还是预期的功能?我知道应用程序不应该在不同的情况下使用相同的变量名,所以会考虑改变这个,但只是想知道是否有人有关于这个问题的更多信息。

编辑

我已通过https://bugbase.adobe.com/index.cfm?event=bug&id=3298179将此错误提交给 Adob ​​e

4

3 回答 3

2

@Russ

此功能确实只是一个功能。我相信您已经错过了上述帖子中的要点,即指定具有不同大小写的相同字段名称不再传递列表结果。

我和许多人过去使用此功能的主要功能之一是复选框。一个组可以具有相同的名称,以便您的验证很容易但不同的值,因此 CF 可以在表单提交之前处理哪些已被勾选(显然未勾选的项目不会传递到列表中)。

于 2012-10-01T08:26:24.763 回答
1

这个错误似乎已被 Adob​​e 确认为错误 #3298179。据报道,它在 build 283412 中已修复,目前处于测试阶段。一旦公开发布,我将使用相关的修补程序信息更新此答案。

于 2013-01-05T17:43:59.583 回答
0

至少从 CFMX 6.1 开始,该“功能”就已经存在。我在 08 年写过关于它的博客:http: //cfruss.blogspot.com/2008/01/passing-multiple-same-named-arguments.html

于 2012-08-04T05:37:11.007 回答