Próbuję pracować na istniejącej stronie i znalazłem błąd, ale nie jestem pewien, dlaczego to błąd lub jak go obejść.Elementy pola wyboru HTML są przesyłane tylko, jeśli są zaznaczone?
Strona internetowa zawiera listę niektórych nieruchomości komercyjnych przeznaczonych do wynajęcia w jednym mieście. Istnieje klasa, która pobiera listy z bazy danych i tworzy obiekt z każdego z nich. W każdym obiekcie znajduje się tablica obrazów powiązanych z tą właściwością.
Gdy użytkownik edytuje aukcję, uzyskuje stronę edycji z listą obrazów oraz pole wyboru "usuń" obok nich. Pola wyboru mają tę samą nazwę, więc po ich przesłaniu z powrotem do serwera aplikacja otrzymuje tablicę obrazów do usunięcia.
Co powinno się zdarzyć, jest to, że aplikacja ma tę tablicę wartości włączania/wyłączania (gdzie on = delete), a indeks każdej wartości w tablicy odpowiada indeksowi obrazu w obiekcie aukcji - gdy jedna z wartości jest "włączona", nazwa pliku w tablicy obrazów odpowiadająca tej wartości "on" jest usuwana z systemu plików, a obraz ten jest usuwany z bazy danych.
Jednak po przesłaniu formularza aplikacja otrzymuje tablicę 0 indeksowanych tylko zaznaczonych pól wyboru. Więc jeśli mogę ustawić trzy dowolne obrazy do usunięcia, aplikacja dostanie
Array { [0] => "on", [1] => "on", [2] => "on" }
To oczywiście nie działa, pierwsze 3 zdjęć w aukcji zostaną usunięte niezależnie od pola wyboru są ustawione.
Jak mogę to naprawić? Chciałbym uniknąć nazwania każdego pola wyboru (delete_1
, delete_2
, delete_3
, itp.), Ponieważ system jest już zbudowany, aby działał ze wszystkimi polami o tej samej nazwie. Czy istnieje sposób, w jaki mogę wymusić przesłanie wszystkich pól wyboru z włączonym lub wyłączonym?
Awesome, nie wiedziałem, że możesz zrobić że. Wielkie dzięki (zaakceptuje, gdy dozwolone) –
omg, to jest straszne rozwiązanie i zdecydowanie nie jest odpowiedzią na pytanie. – zerkms
@Steve Chciałem uniknąć nazywania ich w różny sposób, ponieważ musiałoby to zmienić zachowanie zaplecza. Nie wiedziałem, że możesz podać wartość inną niż "włączony" lub "wyłączony" - wymagałoby to minimalnych zmian. –