![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam formularz rezerwacji z m.in. dwoma polami checkbox. Wszystko fajnie śmiga, ale problem stanowi wysyłka wartości tych pól. Gdy np. jeden jest zaznaczony, a drugi nie to wysyła z obu pól wartość tego zaznaczonego. Jak rozwiązać ten problem (IMG:style_emoticons/default/co_jest.gif)
Ten post edytował senior.pol 2.03.2015, 00:33:01 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 58 Dołączył: 17.12.2013 Ostrzeżenie: (10%) ![]() ![]() |
ups, nie tu. sorki
Ten post edytował tzm 2.03.2015, 00:40:02 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Z formularzem jest wszystko w porządku, sprawdź dokładnie czy na pewno masz taki błąd.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Z formularzem jest wszystko w porządku, sprawdź dokładnie czy na pewno masz taki błąd. Niestety błąd dalej jest. Sprawa obrazowo wygląda tak ( dla przykładu mam pole A i B ) opcja 1: A - zaznaczone, B niezaznaczone: po wysyłce wszystko pasuje: A "Tak", B "Nie" opcja 2: A - niezaznaczone, B - zaznaczone: po wysyłce błąd: A "Tak", B "Nie" (powinno być na odwrót) opcja 3: A - zaznaczone, B - zaznaczone: po wysyłce błąd: A "Tak", B "Nie" (powinno być w obu "Tak") opcja 4: A - niezaznaczone, B - niezaznaczone: po wysyłce błąd: A "Tak", B "Nie" (powinno być w obu "Nie") Ten post edytował senior.pol 2.03.2015, 15:00:32 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Pokaż cały formularz i cały skrypt PHP, gdzie testujesz te wartości.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż cały formularz i cały skrypt PHP, gdzie testujesz te wartości.
Kod jQuery(function($){
$('.pi-contact-form').submit(function(){ var $form = $(this), $error = $form.find('.pi-error-container'), action = $form.attr('action'); $error.slideUp(750, function() { $error.hide(); var $regulamin = $form.find('.form-control-regulamin'), $zgoda = $form.find('.form-control-zgoda'), $.post(action, { regulamin: $regulamin.val(), zgoda: $zgoda.val(), }, function(data){ $error.html(data); $error.slideDown('slow'); if (data.match('success') != null) { $regulamin.val(''); $zgoda.val(''); } } ); }); return false; }); }); Ten post edytował senior.pol 2.03.2015, 17:50:40 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pobieranie statusu checkboxa (zamiast .val() użyj .prop('checked'))
Ustawianie statusu checkboxa
Ten post edytował kamil_lk 2.03.2015, 19:52:15 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pobieranie statusu checkboxa (zamiast .val() użyj .prop('checked'))
Ustawianie statusu checkboxa
Niestety nie działa (IMG:style_emoticons/default/wstydnis.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Osobiście nie lubię w checkboxach tego, że w formularzach niezaznaczone checkboxy nie są wysyłane wcale. Ale jak wysyłasz je jQuery, to możesz to zrobić po swojemu. Popieram kolegę kamil_lk, fajnie byłoby użyć do tego .prop("checked"), który zawsze zwraca true albo false. Może idź tym tropem i właśnie w takiej formie wysyłaj te wartości? Wtedy będziesz musiał zmienić swój skrypt PHP i operować na true/false zamiast na isset.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Osobiście nie lubię w checkboxach tego, że w formularzach niezaznaczone checkboxy nie są wysyłane wcale. Ale jak wysyłasz je jQuery, to możesz to zrobić po swojemu. Popieram kolegę kamil_lk, fajnie byłoby użyć do tego .prop("checked"), który zawsze zwraca true albo false. Może idź tym tropem i właśnie w takiej formie wysyłaj te wartości? Wtedy będziesz musiał zmienić swój skrypt PHP i operować na true/false zamiast na isset. W takim razie jak powinien wyglądać kod w php? Nie jestem mocny w nim. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli pominiemy walidację póki co, to wystarczy że zamienisz: na:
Poprawiłem kod, ale nie wiele to dało (IMG:style_emoticons/default/sad.gif) Może mam gdzieś błąd. Kod teraz wygląda następująco: Kod $.post(action, { regulamin: $regulamin.val(), zgoda: $zgoda.val(), }, function(data){ $error.html(data); $error.slideDown('slow'); if (data.match('success') != null) { $regulamin.prop('checked'); $zgoda.prop('checked'); } }
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Bo dalej wysyłasz tak samo te wartości. Poprawiłem i skomentowałem Twój JS:
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Bo dalej wysyłasz tak samo te wartości. Poprawiłem i skomentowałem Twój JS:
Poprawiłem i dalej to samo (IMG:style_emoticons/default/co_jest.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
To zdebugguj to. Zobacz czy te zmienne $zgoda i $regulamin na pewno wskazują na odpowiednie elementy itd. Bo kod wysyłający jest taki jaki powinien być.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
To zdebugguj to. Zobacz czy te zmienne $zgoda i $regulamin na pewno wskazują na odpowiednie elementy itd. Bo kod wysyłający jest taki jaki powinien być. Niby jest wszystko w porządku, ale nie działa tak jak powinno. Cały formularz znajduje się tutaj |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A gdzie masz ten skrypt podpięty?
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
To co mogę doradzić to żebyś się nauczył debuggować kod, bo raczej nikt Ci takiej ilości kodu nie będzie analizował. Krok po kroku sprawdzaj co się dzieje, rób console.log z róznymi wartościami.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 13:06 |