기존 웹 사이트에서 작업하고 있지만 버그를 발견했지만 버그 또는 그 문제를 해결하는 방법이 확실하지 않습니다.HTML 체크 박스 요소는 체크 된 경우에만 제출됩니까?
웹 사이트는 기본적으로 한 도시의 임대용 상업 부동산을 나열합니다. 데이터베이스에서 목록을 가져 와서 각각의 개체를 만드는 클래스가 있습니다. 각 개체에는 해당 속성과 연결된 이미지 배열이 있습니다.
사용자가 목록을 편집하면 이미지 목록이있는 편집 페이지와 그 옆에있는 "삭제"확인란이 표시됩니다. 체크 박스는 모두 같은 이름을 가지므로 체크 박스는 서버로 다시 제출 될 때 삭제할 이미지의 배열을 가져옵니다.
이 앱에는이 on/off 값 배열 (on = delete)이 있으며 배열의 각 값 색인은 목록 객체의 이미지 색인에 해당합니다. 값 중 하나가 "on"이면 해당 "on"값에 해당하는 이미지 배열의 파일 이름이 파일 시스템에서 삭제되고 해당 이미지가 데이터베이스에서 제거됩니다.
그러나 양식이 제출되면 앱은 체크 표시된 체크 박스만으로 색인 된 0 배열을 가져옵니다. 내가 삭제 세 가지 임의의 이미지를 설정하면 앱이 작동하지 않습니다 분명히
Array { [0] => "on", [1] => "on", [2] => "on" }
이를 얻을 것입니다 그래서 목록에서 첫 번째 3 이미지에 관계없이 확인란이 설정되어있는 삭제됩니다.
어떻게 해결할 수 있습니까? 시스템이 이미 같은 이름을 가진 모든 확인란을 사용할 수 있도록 구축되어 있으므로 각 확인란 (delete_1
, delete_2
, delete_3
등)의 이름을 지정하지 않는 것이 좋습니다. 모든 확인란을 강제로 "on"또는 "off"로 제출할 수있는 방법이 있습니까?
굉장하고, 당신이 할 수 있다는 것을 몰랐습니다. 그. 고마워요 (허용 될 때 받아 들일 것입니다) –
mg, 그것은 끔찍한 해결책이며 질문에 대한 답변이 아닙니다. – zerkms
@ 스티브 백엔드의 동작을 변경해야하기 때문에 다르게 이름을 지정하는 것을 피하고 싶었습니다. 나는 당신이 "on"또는 "off"이외의 다른 값을 제출할 수 있다는 것을 깨닫지 못했습니다 - 최소한의 변경 만 필요합니다 –