我試圖在現有的網站上工作,但我發現了一個錯誤,但我不確定它爲什麼是一個錯誤或者如何解決它。僅當HTML複選框元素被檢查時才提交?
該網站基本上列出了在一個城市出租的一些商業物業。有一個類從數據庫中獲取列表並從中創建一個對象。在每個對象中都有一個與該屬性相關聯的圖像數組。
當用戶編輯列表時,他們會得到一個編輯頁面,其中包含圖像列表以及旁邊的「刪除」複選框。複選框都具有相同的名稱,以便將它們提交回服務器時,應用程序獲取要刪除的圖像數組。
應該發生什麼,是應用程序具有開/關值的數組(其中on = delete),並且數組中每個值的索引都對應於列表對象中圖像的索引 - 當其中一個值爲「on」時,圖像陣列中與該「on」值對應的文件名將從文件系統中刪除,並且該圖像將從數據庫中刪除。
但是,當表單被提交時,應用程序只獲取一個只有選中複選框的0索引數組。所以,如果我要刪除設定了三個任意圖像,應用程序會得到
Array { [0] => "on", [1] => "on", [2] => "on" }
這顯然是行不通的,在上市第3個圖像將無論哪個複選框被設置刪除。
我該如何解決這個問題?我想避免命名每個複選框(delete_1
,delete_2
,delete_3
等),因爲系統已經構建爲與所有具有相同名稱的複選框一起工作。有沒有辦法可以強制所有複選框以「開」或「關」提交?
真棒,不知道你能做什麼那。非常感謝(在允許的情況下會接受) – 2010-11-18 03:20:08
omg,這是一個可怕的解決方案,絕對不是問題的答案。 – zerkms 2010-11-18 03:22:09
@Steve我想避免以不同的方式命名它們,因爲這將不得不改變後端的行爲。我沒有意識到你可以提交除「開」或「關」以外的值 - 這將需要最小的更改 – 2010-11-18 03:22:29