Problem z Quizem z wykorzystaniem js

0

Mam problem z Quizem. Wszystko najpierw działa normalnie, ale gdy chcę przejść w funkcję całkowitego sprawdzania quizu, funkcja sprawdzająca nie chcę się włączyć. W załączniku znajduję się strona Quizu, nad którą pracuję. Prosze o pomoc

3

Jeśli otworzysz konsolę przeglądarki zauważysz, że w linii 122 odwołujesz się do obiektu radio1_02, którego nigdzie nie zdefiniowałeś.

Poza tym konstrukcyjnie twój kod wygląda jak realizacja zadania o 100 Murzynkach w postaci:

echo("100 murzynków");
echo("99 murzynków");
echo("98 murzynków");
0

Poza tym skracałem już kod, ale nie działało znowu. Poza tym

radio1_02

Jest zdefiniowane w kodzie HTML, O ile można tak robić. Dodatkowo Jakbyś mi mógł powiedzieć co bym skrócił w kodzie js, to byłbym wdzięcznym.
Masz screena w załączniku.

3

@Michal Ksiazek:

Jest zdefiniowane w kodzie HTML

Ale JS niczego na ten temat nie wie. Obczaj sobie polecenia:
document.getElementById
document.querySelector

Jakbyś mi mógł powiedzieć

Mogłabym.
Tworzysz 10 osobnych funkcji do każdego pytania, a w nich osobno definiujesz innerHTML dla każdego pytania i opcji odpowiedzi, z pozycjami formularza, które już istnieją w pliku HTML.

Zrób jedną tablicę z pytaniami i odpowiedziami.
I jedną funkcję, która odpowiednio zmodyfikuje przy każdym pytaniu istniejący już formularz.
Nie zmieniaj każdorazowo name i id pól.
Będzie 10 razy mniejsze :)

0

@Freja Draco: Dzięki za info, jak mogę skrócić, ale mi przycisk sprawdzenia mi dalej nie działa

4

Ogólnie przeleć przez jakiś podręcznik programowania i ogarnij temat tablic, pętli, jak dodawać stringi, jak obsługiwać zdarzenia w JS (o czymś takim jak event.target itp.). bo próbujesz robić wszystko "na pałę", bo brak ci abstrakcji, fundamentów albo wyobrażenia, jak się pisze w JS (możesz jakieś programy przykładowe w necie przejrzeć).

To trochę jakby ktoś nie znając dobrze matematyki chciał sprawdzić koszt 7 piw po 3,49zł to zamiast pomnożyć 3,49 przez 7, to liczyłby:
3,49 + 3,49 + 3,49 + 3,49 + 3,49 + 3,49 + 3,49
bo nie znałby koncepcji mnożenia, a jedynie dodawanie.

Takie właśnie mam odczucie, kiedy widzę, jak próbujesz do każdej odpowiedzi robić osobną funkcję i osobnego ifa.

Idąc dalej w tę stronę ("na pałę") coś tam może zrobisz, ale będziesz mieć potem bez przerwy problemy, więc lepiej naprawdę poznać fundamenty i je zastosować. Bo to się zwróci na przyszłość.

To trochę jak matematyka. W matmie(fizyce itp.) się myśli "jak za pomocą jednego pięknego równania opisać wiele różnych przypadków. To tutaj pomyśl "jak za pomocą krótkiego kodu zawrzeć wiele różnych przypadków"(np. wiele przycisków radio naraz, zamiast robić każdy przypadek z osobna z osobnym ifem). A jak będziesz o tym myślał, to będziesz mógł kombinować w tę stronę albo szukał w necie odpowiedzi na to "jak mogę to uprościć, czego mi brakuje, żeby to uprościć".

0

@LukeJL: Jak ja nie robię ŻADNEJ profesjonalnej strony. poza tym jest mi tylko ten problem rozwiązać. Quiz jest mi potrzebny do prezentacji. Posłucham się ciebie w sprawie podręcznika. Ale tylko tego.

1

@Michal Ksiazek: Znajdź pracodawcę, który będzie płacił ci od linii kodu a czeka cię wielka kariera xD A tak na poważnie. Jeżeli to tylko jednorazowa sprawa to na YT jest sporo tutoriali co cię poprowadzą krok po kroku. Jeżeli jednak chcesz pisać coś w przyszłości to naucz się podstaw składni JS. @Freja Draco dobrze to wyjaśniła na przykładzie zadania gdzie trzeba znać pętle czy @LukeJL na przykładzie z mnożeniem. Powodzenia.

0

@solrantes: Dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1