![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 22.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie wszystkich forumowiczów
Moje pytanie dotyczy przeprowadenia testu za pomocą języka Java Script. W jaki sposób po naciśnięciu przycisku RAdioButton ma być zliczny punkt za poprawną odpowiedź, a 0 pkt za niepoprawną odpowiedź.Następnie punkty mają być zliczane na końcu programu i podawany wynik. Wiem, żeby użyć tutaj tablicy, ale nie mam konkretnego pomysłu, jak to zdefiniować. Może jak zrobię algorytm to mi się rozjaśni.Tymczasem proszę o wskazówki. Z góry serdecznie dziękuję ![]() Pozdrowienia |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 4 Dołączył: 22.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
no cóż pierwsze co mi się nasuwa to coś takiego:
Kod <script language="text/javascript"> var pytanie = array(); var punkty = array(); var pytania = array(); ytanie['numer_pytania']['numer_odpowiedzi'] = 'Odpowiedź numer 1'; if (document.nazwa_formularza.nazwa_sekcji_z_select = pytanie['numer_pytania']['numer_odpowiedzi']) { punkty['numer_pytania'] = tutaj ilosc punktow; } </script> Pisane z pamięci więc nie wiem czy będzie działać Mam nadzieje że z tego wszystko rozumiesz ![]() Podzrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 9.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze: test w JS jest troche bezsensownym rozwiązaniem => zawsze można podejrzeć żródło.
Po drugie: po co dodawać punkty po nacisnieciu pola radio? kod się niepotrzebnie wykonuje, a chyba nie chcesz, żeby użytkownik nie mógł zmieniać swojego wyboru => lepiej zliczać na końcu. Diwi rzeczywiście pisał z pamięci, trochę mu się pomieszało z php, nie tylko konstrukcja tablic, ale także ogólny brak tablic asocjacyjnych w JavaScripcie => od tego są obiekty. Jeśli juz musisz skorzystać z JavaScriptu, to proponuje takie rozwiązanie: Kod <script> function check(f) { var pkt = 0; // liczba punktów var odp = { pyt1: 'dupa', pyt2: 'foo', pyt3: 'bar' }; // lista poprawnych odp. var e = f.elements; for(k in e) { // dodajemy punkt jeśli poprawna if(e[k].checked && odp[e[k].name] != undefined && e[k].value == odp[e[k].name]) pkt++; alert('Zdobyles ' + pkt + ' punktów'); return false; // nie wysyłamy formularza } </script> Przykład zastosowania:
Można oczywiście rozbudować, to tylko przykład ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 18:55 |