【发布时间】:2011-05-11 19:32:34
【问题描述】:
我正在尝试在现有网站上工作,但我发现了一个错误,但我不确定它为什么是一个错误或如何解决它。
该网站基本上列出了在一个城市出租的一些商业物业。有一个类从数据库中获取列表并从每个列表中创建一个对象。每个对象中都有一个与该属性相关联的图像数组。
当用户编辑列表时,他们会得到一个编辑页面,其中包含图像列表,以及旁边的“删除”复选框。复选框都具有相同的名称,因此当它们被提交回服务器时,应用程序会获取要删除的图像数组。
应该发生的是,应用程序有这个开/关值数组(其中 on = delete),并且数组中每个值的索引对应于列表对象中图像的索引 - 当其中一个值为“on”,对应于“on”值的图像数组中的文件名从文件系统中删除,并且该图像从数据库中删除。
但是,当提交表单时,应用程序会获得一个仅包含选中复选框的 0 索引数组。因此,如果我设置三个任意图像进行删除,应用程序会得到
大批 { [0] =>“开”, [1] =>“开”, [2] =>“开” }这显然不起作用,列表中的前 3 张图像将被删除,无论设置了哪些复选框。
我该如何解决这个问题?我想避免命名每个复选框(delete_1、delete_2、delete_3 等),因为系统已经构建为可以使用所有具有相同名称的复选框。有没有一种方法可以强制所有复选框以“on”或“off”的形式提交?
【问题讨论】: