Wpis z mikrobloga

#javascript i troche #programowanie #januszeprogramowania

Potrzebowałem zrobić formularz, skorzystałem z phpFormGenerator
Mam kilka pól tekstowych i jeden checkbox,
skrypt elegancko za pomocą funkcji sprawdza czy w tekstowych jest cokolwiek wpisane,
lecz mimo zaznaczenia ze checkbox jest wymagany puszcza formularz dalej bez sprawdzenia ( ͡° ʖ̯ ͡°)

Funkcja (chodzi o fieldbox 8), jak to zmodyfikować, żeby nie puszczał dalej bez zaznaczonego kwadracika?

`
  • 10
@rbn: Druga kwestia - nie jestem pewien, ale... Jeśli sprawdzasz poprawność checkboxów moźe być tak, że false to jedna zaznaczona opcja, true - druga, a null - żadna :)
@Wozyack: Nie działa, ogólnie rozumiem mniej więcej co tu pisze ale nie znam tego na tyle żeby to ogarnąć xD
Mam wrażenie, że ten skrypt sprawdza czy wg checkbox sie pojawia, obojetnie czy zaznaczony czy nie.
@rbn: Na przyszłość - większość błędów już ktoś miał i opisał. Kwestia znalezienia dobrego rozwiązania. Uwierz mi, naprawdę ciężkie i specyficzne przypadki nie mają do tej pory w necie rozwiązania.

Jeśli chodzi o Twój problem, to polecam wpisać w gooogle "checkbox validation in javascript" i będziesz miał milijony (pisownia celowa) podpowiedzi :)

PS: Ludzie-aspirujący do kodowania/programowania - uczcice się wyszukiwać podobnych problemów i rozwiązywać je
@Wozyack: Szukałem, czytałem o funkcjach i metodą prób i błędów chciałem to naprawić tylko, że robie to pierwszy raz w życiu, zapewne ostatni (dlatego skorzystałem z generatora) a wszystko co znalazłem odnosiło się do napisania tego całkiem inaczej od nowa = udało mi się już kilka razy popsuć cały formularz xD

Czy zaznacze czy nie ten checkbox i tak formularz przechodzi do wysyłki z komunikatem o sukcesie.
Wcześniej korzystałem z jotform
@rbn: Tylko nie wiem jak to tam interpretują starsze wersje IE, więc warto też to jakoś od strony php zrobić :) Z tego co mi się wydaje checkbox niezaznaczony nie stworzy zmiennej POST więc wystarczy sprawdzić czy jest ustawiony issetem i jeżeli nie jest to zmienić flagę na false.