2012-07-27 55 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可以處理在提交表單前明顯勾選了哪些內容(顯然未提交的項目不會傳遞到列表中)。