Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.06.2014 Ostrzeżenie: (0%)
|
Witam, mam problem ze skryptem sprawdzającym ilość poprawnych odpowiedzi w quizie.
Napisałem jakiś skrypt (jestem zielony jeśli chodzi o JS), lecz nawet jak zaznaczę jakieś poprawne odpowiedzi to i tak wyskakuję alert że zaznaczyłem 0/10 poprawnych. Proszę o pomoc. Kod <script language="javascript" type="text/javascript"> function weryfikuj() { var punkty = 0; var pop1=document.getElementsByName("poprawna"); var pop2=document.getElementsByName("poprawna2"); var pop3=document.getElementsByName("poprawna3"); var pop4=document.getElementsByName("poprawna4"); var pop5=document.getElementsByName("poprawna5"); var pop6=document.getElementsByName("poprawna6"); var pop7=document.getElementsByName("poprawna7"); var pop8=document.getElementsByName("poprawna8"); var pop9=document.getElementsByName("poprawna9"); var pop10=document.getElementsByName("poprawna10"); if (pop1.checked ) { punkty = punkty+1; } if (pop2.checked) { punkty = punkty+1; } if (pop3.checked) { punkty = punkty+1; } if (pop4.checked ) { punkty = punkty+1; } if (pop5.checked ) { punkty = punkty+1; } if (pop6.checked ) { punkty = punkty+1; } if (pop7.checked ) { punkty = punkty+1; } if (pop8.checked ) { punkty = punkty+1; } if (pop9.checked ) { punkty = punkty+1; } if (pop10.checked ) { punkty = punkty+1; } alert ("Udzieliłeś " +punkty+ "/10 poprawnych odpowiedzi"); } </script> wklejam także formularz: Kod <form> <p class="quiz"> Pyt. 1 Który kraj jest największy na świecie? <br> <input type="radio" name="poprawna"> Rosja <br> <input type="radio"> Chiny <br> <input type="radio"> Stany Zjednoczone <br> <input type="radio"> Brazylia <br> </p> <hr> <p class="quiz"> Pyt. 2 Częścią jakiego kraju jest Alaska? <br> <input type="radio"> Rosji <br> <input type="radio"> Kanady <br> <input type="radio" name="poprawna2"> Stanów Zjednoczonych <br> <input type="radio"> Meksyku <br> </p> <hr> <br> <center><img src="waw.jpg" alt="obrazek"></center> <br> <p class="quiz"> Pyt. 3 Co przedstawia powyższy obrazek? <br> <input type="radio" name="poprawna3"> Wawel w Krakowie <br> <input type="radio"> Zamek krzyżacki w Malborku <br> <input type="radio"> Zamek Książ <br> <input type="radio"> Zamek Królewski w Warszawie <br> </p> <hr> <p class="quiz"> Pyt. 4 Jakie jest najgłębsze jezioro w Polsce? <br> <input type="radio"> Mamry <br> <input type="radio" name="poprawna4"> Hańcza <br> <input type="radio"> Gopło <br> <input type="radio"> Śniardwy <br> </p> <hr> <p class="quiz"> Pyt. 5 Jakie miasto jest stolicą Francji? <br> <input type="radio"> Lyon <br> <input type="radio"> Marsylia <br> <input type="radio"> Bordeaux <br> <input type="radio" name="poprawna5"> Paryż <br> </p> <hr> <p class="quiz"> Pyt 6. Jak nazywa się najdalej na południe wysunięty punkt Afryki ? <br> <input type="radio" name="poprawna6">Przylądek Igielny<br> <input type="radio">Przylądek Dobrej Nadziei<br> <input type="radio">Przylądek Horn<br> <input type="radio">Przylądek Rocca<br> </p> <hr> <p class="quiz"> Pyt 7. Które państwo sąsiaduje z Polską? <br> <input type="radio" name="poprawna7">Niemcy <br> <input type="radio"> Hiszpania<br> <input type="radio"> Francja <br> <input type="radio"> Włochy <br> </p> <hr> <p class="quiz"> Pyt 8. Które miasto leży w województwie Lódzkim? <br> <input type="radio"> Radom<br> <input type="radio" name="poprawna8"> Radomsko <br> <input type="radio"> Ełk <br> <input type="radio"> Sanok <br> </p> <hr> <p class="quiz"> Pyt 9. Najgłebsze jezioro na świecie to? <br> <input type="radio"> Tanganika <br> <input type="radio"> Wielkie Jezioro Niedźwiedzie <br> <input type="radio" name="poprawna9"> Bajkał <br> <input type="radio"> Onega <br> </p> <hr> <p class="quiz"> Pyt 10. Najdłuższa rzeka w Europie to? <br> <input type="radio"> Wisła <br> <input type="radio"> Ren <br> <input type="radio"> Loara <br> <input type="radio" name="poprawna10"> Wołga <br> </p> <input type="submit" value="sprawdz!" onclick="weryfikuj()"> </form> |
|
|
|
![]() |
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Zacznij od podstaw HTML:
wszystkie radio w grupie muszą mieć takie samo NAME, a nie ty NAME nadajesz tylko jednemu radio z grupy Oraz kolejna sprawa: nadanie NAME dla radio nie sluzy okresleniu czy to radio jest poprawne czy nie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.06.2014 Ostrzeżenie: (0%)
|
Wzorowałem się na innym formularzu z jakiegoś forum, rozumiem że określeniu czy jest pole radio poprawne czy nie służy VALUE?
Teraz jest dobrze? Kod <form>
<p class="quiz"> Pyt. 1 Który kraj jest największy na świecie? <br> <input type="radio" name="quiz" value="1"> Rosja <br> <input type="radio" name="quiz" value="0"> Chiny <br> <input type="radio" name="quiz" value="0"> Stany Zjednoczone <br> <input type="radio" name="quiz" value="0"> Brazylia <br> </p> <hr> <p class="quiz"> Pyt. 2 Częścią jakiego kraju jest Alaska? <br> <input type="radio" name="quiz1" value="0"> Rosji <br> <input type="radio" name="quiz1" value="0"> Kanady <br> <input type="radio" name="quiz1" value="1"> Stanów Zjednoczonych <br> <input type="radio" name="quiz1" value="0"> Meksyku <br> </p> <hr> <br> <center><img src="waw.jpg" alt="obrazek"></center> <br> <p class="quiz"> Pyt. 3 Co przedstawia powyższy obrazek? <br> <input type="radio" name="quiz2" value="1"> Wawel w Krakowie <br> <input type="radio" name="quiz2" value="0"> Zamek krzyżacki w Malborku <br> <input type="radio" name="quiz2" value="0"> Zamek Książ <br> <input type="radio" name="quiz2" value="0"> Zamek Królewski w Warszawie <br> </p> <hr> <p class="quiz"> Pyt. 4 Jakie jest najgłębsze jezioro w Polsce? <br> <input type="radio" name="quiz3" value="0"> Mamry <br> <input type="radio" name="quiz3" value="1"> Hańcza <br> <input type="radio" name="quiz3" value="0"> Gopło <br> <input type="radio" name="quiz3" value="0"> Śniardwy <br> </p> <hr> <p class="quiz"> Pyt. 5 Jakie miasto jest stolicą Francji? <br> <input type="radio" name="quiz4" value="0"> Lyon <br> <input type="radio" name="quiz4" value="0"> Marsylia <br> <input type="radio" name="quiz4" value="0"> Bordeaux <br> <input type="radio" name="quiz4" value="1"> Paryż <br> </p> <hr> <p class="quiz"> Pyt 6. Jak nazywa się najdalej na południe wysunięty punkt Afryki ? <br> <input type="radio" name="quiz5" value="1">Przylądek Igielny<br> <input type="radio" name="quiz5" value="0">Przylądek Dobrej Nadziei<br> <input type="radio" name="quiz5" value="0">Przylądek Horn<br> <input type="radio" name="quiz5" value="0">Przylądek Rocca<br> </p> <hr> <p class="quiz"> Pyt 7. Które państwo sąsiaduje z Polską? <br> <input type="radio" name="quiz6" value="1">Niemcy <br> <input type="radio" name="quiz6" value="0"> Hiszpania<br> <input type="radio" name="quiz6" value="0"> Francja <br> <input type="radio" name="quiz6" value="0"> Włochy <br> </p> <hr> <p class="quiz"> Pyt 8. Które miasto leży w województwie Lódzkim? <br> <input type="radio" name="quiz7" value="0"> Radom<br> <input type="radio" name="quiz7" value="1"> Radomsko <br> <input type="radio" name="quiz7" value="0"> Ełk <br> <input type="radio" name="quiz7" value="0"> Sanok <br> </p> <hr> <p class="quiz"> Pyt 9. Najgłebsze jezioro na świecie to? <br> <input type="radio" name="quiz8" value="0"> Tanganika <br> <input type="radio" name="quiz8" value="0"> Wielkie Jezioro Niedźwiedzie <br> <input type="radio" name="quiz8" value="1"> Bajkał <br> <input type="radio" name="quiz8" value="0"> Onega <br> </p> <hr> <p class="quiz"> Pyt 10. Najdłuższa rzeka w Europie to? <br> <input type="radio" name="quiz9" value="0"> Wisła <br> <input type="radio" name="quiz9" value="0"> Ren <br> <input type="radio" name="quiz9" value="0"> Loara <br> <input type="radio" name="quiz9" value="1"> Wołga <br> </p> </form> |
|
|
|
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
NAME teraz jest ok
VALUE nie sluzy do okreslania poprawnosci, tylko do okreslania wartosci danego radio. Co jest poprawne a co nie, to mozesz sobie w kodzie js zapisac. Od biedy możesz nadać klase dla danego radio, by to stwierdzac. Nie mniej jednak okreslania co jest poprawne w kodzie html/js mija sie z sensem, bo kazdy bedzie mogl to sobie podejrzec i wiedziec co ma zaznaczac a co nie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.06.2014 Ostrzeżenie: (0%)
|
No tak ja to rozumiem że można podejrzeć, ale to nie jest do używania na prawdę tylko na projekt do szkoły. Czyli co muszę teraz mienić w tym skrypcie? Czy on wgle jest całkowicie zły?
Dobra znalazłem inny skrypt który działa i mam pytanie czy można do niego dodać coś żeby nie wyświetlał samej ilości punktów ale także ocenę, np. 0-4 pkt 2, 5-6 pkt 3, 7 pkt 3+, 8 pkt 4, 9 pkt 4+ i 10 pkt 5. Skrypt: Kod <script language="javascript" type="text/javascript">
function total() { var k=0; var radios = document.getElementsByName('quiz'); var radios1 = document.getElementsByName('quiz1'); var radios2 = document.getElementsByName('quiz2'); var radios3 = document.getElementsByName('quiz3'); var radios4 = document.getElementsByName('quiz4'); var radios5 = document.getElementsByName('quiz5'); var radios6 = document.getElementsByName('quiz6'); var radios7 = document.getElementsByName('quiz7'); var radios8 = document.getElementsByName('quiz8'); var radios9 = document.getElementsByName('quiz9'); for (var i = 0, length = radios.length; i < length; i++) { if (radios[i].checked) { k=parseInt(k)+parseInt(radios[i].value); break; } } for (var i = 0, length = radios1.length; i < length; i++) { if (radios1[i].checked) { k=parseInt(k)+parseInt(radios1[i].value); break; } } for (var i = 0, length = radios2.length; i < length; i++) { if (radios2[i].checked) { k=parseInt(k)+parseInt(radios2[i].value); break; } } for (var i = 0, length = radios3.length; i < length; i++) { if (radios3[i].checked) { k=parseInt(k)+parseInt(radios3[i].value); break; } } for (var i = 0, length = radios4.length; i < length; i++) { if (radios4[i].checked) { k=parseInt(k)+parseInt(radios4[i].value); break; } } for (var i = 0, length = radios5.length; i < length; i++) { if (radios5[i].checked) { k=parseInt(k)+parseInt(radios5[i].value); break; } } for (var i = 0, length = radios6.length; i < length; i++) { if (radios6[i].checked) { k=parseInt(k)+parseInt(radios6[i].value); break; } } for (var i = 0, length = radios7.length; i < length; i++) { if (radios7[i].checked) { k=parseInt(k)+parseInt(radios7[i].value); break; } } for (var i = 0, length = radios8.length; i < length; i++) { if (radios8[i].checked) { k=parseInt(k)+parseInt(radios8[i].value); break; } } for (var i = 0, length = radios9.length; i < length; i++) { if (radios9[i].checked) { k=parseInt(k)+parseInt(radios9[i].value); break; } } alert("Twój wynik to "+parseInt(k)+" na 10"); } |
|
|
|
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Skoro robisz projekt do szkoly, to mialbys choc na tyle przyzwoitosci by doczytac o czyms takim jak IF...
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.06.2014 Ostrzeżenie: (0%)
|
Kod if (parseInt(k)<5) alert(Uzyskałeś ocenę 2); coś takiego? |
|
|
|
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
A dziala?
Watpie, bo teksty w alert to sie w apostrofy bierze.... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.06.2014 Ostrzeżenie: (0%)
|
Kod if (parseInt(k)<6) { alert("Uzyskałeś ocenę 2"); } if (parseInt(k)=6) { alert("Uzyskałeś ocenę 3"); } if (parseInt(k)=7) { alert("Uzyskałeś ocenę 3+"); } if (parseInt(k)=8) { alert("Uzyskałeś ocenę 4"); } if (parseInt(k)=9) { alert("Uzyskałeś ocenę 4+"); } if (parseInt(k)=10) { alert("Uzyskałeś ocenę 5"); } I nadal nie działa.. |
|
|
|
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Jeszcze podstawy operatorów porównań też by się przydały
|
|
|
|
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
A czymze moj drogi leniuszku objawia się to "niedzialanie"?
Poza tym w IF nalezy porownywac wartosci a nie przypisywac... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:08 |