2012-07-27 27 views
11

我们只是在考虑将遗留脚本移植到ColdFusion 10上,我相信我遇到了与使用多个表单域相关的功能缺陷/更改一样的名字。在ColdFusion 9中,这些将会以逗号附加到相关变量,但在ColdFusion 10中,如果变量的情况不同,则一个字段将覆盖另一个字段。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

+3

我一定会将此作为错误提交。 CF不应该用变量名称区分大小写。 – Sharondio 2012-07-27 13:42:55

+0

有趣的是,当'enctype =“multipart/form-data”'(o/s windows)时,行为会改变。值不会被覆盖,但是fieldNames会列出两次值,即'TEST = 1,0'和'FORM.FIELDNAMES = TEST,TEST' – Leigh 2012-07-27 14:47:11

+0

请提交一个错误报告,我们可以在这里代替这里投票。 https://bugbase.adobe.com/ – Henry 2012-07-27 17:45:42

回答

1

此错误似乎已被Adobe确认为Bug #3298179。据报道,修复版本为283412,目前处于测试阶段。一旦这个信息公开发布,我会用相关的修补程序信息更新这个答案。

2

@Russ

这个功能的确只是一个特征。我相信你已经错过了上述文章中指出具有不同大小写的相同字段名称不再传递列表结果的要点。

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