![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 221 Pomógł: 14 Dołączył: 11.03.2009 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Witam
Postanowiłem tu napisać i poprosić was o pomoc ponieważ siedzę już kilka dni nad jedną rzeczą i nie mogę sobie z tym poradzić :-( Mam checkboxa :
i chciałbym aby ten formularz spełniał 3 kryteria: 1. Oba są zaznaczone (checked) - możemy także oba włączać 2. Jeśli pierwszy checkbox jest wyłączony i próbujemy wyłączyć drugi to automatycznie włącza się ten pierwszy 3. Jeśli drugi jest wyłączony i próbujemy wyłączyć pierwszy to drugi się włącza podsumowując nie ma możliwości by oba były wyłączone. Po części udało mi się to zrobić z tym że nie do końca bo gdy wyłączę pierwszy checkbox i próbuje wyłączyć drugi to ten pierwszy się włącza ale jak chce zrobić odwrotnie to przycisk nr 1 się blokuje i nie można go wyłączyć - dopiero jak jest włączony drugi to można go wyłączyć. Mam nadzieję że nie namieszałem za bardzo ;-) a oto mój kod php:
byłbym wdzięczny za wszelkie wskazówki :-) Pozdrawiam serdecznie |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 9 Dołączył: 16.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, czy da się to zrobić bez użycia zapisu stanu checkboxów do sesji. Pusty checkbox nie wysyła żadnych danych. Jeśli masz np. wyłączony pierwszy i chcesz wyłączyć drugi checkbox to tak naprawdę wysłany formularz nie przekazuje zmiennych z tych checkboxów. Nie wiadomo w tym momencie który był wyłączony a który przed chwilą wyłączyłeś. Możesz wybrać w przypadku wyłączenia dwóch jednocześnie który ma sie domyślnie zaznaczyć.
Mam nadzieję, że nie namieszałem ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 221 Pomógł: 14 Dołączył: 11.03.2009 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Witaj
![]() Próbuje to zrobić za pomocą headera i przesyłać dane po GET. Zobaczymy co z tego wyjdzie bo jak dotąd nie udało mi się osiągnąć takiego rezultatu jak bym chciał. Myślałem nad tymi sesjami ale na razie próbuje innych metod. Próbowałem powyższe działanie zrobić za pomocą switcha zamiast if ale tak jak napisałeś gdy oba są puste to php nie wie który był później wyłączony ![]() Dzięki za zainteresowanie Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze czemu chcesz to zrobić po stronie serwera? Nie łatwiej (i czytelniej dla użytkownika) było by to zrobić po stronie klienta (javascript)? Skąd użytkownik ma wiedzieć że musi być jakiś zaznaczony? A jeśli odznaczył 2 to który ma być włączony? Skąd php ma wiedzieć co robił użytkownik na stronie? Chyba że przy każdym kliknięciu będziesz wysyłał request ajaxem, ale to i tak bez sensu. Powiedź jaki cel chcesz osiągnąć takim działaniem.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 9 Dołączył: 16.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Po Get może Ci się udać, tylko trzeba to jakoś sprytnie przemyśleć. Za każdym razem musisz ostatnie ustawienie wysłać w header Get do formularza a w formularzu podstawić w miejscu
EDIT: Przemyślałem to. Z GET i header niepotrzebne mieszanie. Jeśli możesz do formularza dodać dwa pola hidden, gdzie będziesz zapisywał ostatnie ustawienie checkboxów to chyba już będzie z górki ![]() Ten post edytował andrew654 22.11.2015, 08:39:56 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
KOd nie jest optymalny. Spełnia wymagane warunki. Wydaje mi się, że wszystko jest OK.
Ten post edytował celbarowicz 28.11.2015, 10:39:47 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:38 |