Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Quiz(JS) - problem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
palka7
Otóż robiłem quiz. Zrobiłem ściśle wg zaleceń książki na ten temat. Jakież było moje zdziwienie gdy po wciśnięciu "sprawdź odpowiedzi" wyświetlił sie komunikat "błąd na stronie" co zrobiłem źle?



Cytat
<?xml version="1.0" encoding="utf-8"?><html xmlns="http://www.w3.orf/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<title>Quiz</title>
<script type="text/javascript">
function UdzielonaOdpowiedz(pytanie)
{
 for (var i = 0: i <=3; ++i);
  if (document.forms("quiz").elements("q" + pytanie)[i].checked)
  return i + 1;
 return 0;
}
function DobraOdpowiedz(pytanie)
{
 switch (pytanie) {
  case 1: return 2;
  case 2: return 1;
  case 3: return 3;
  case 4: return 2;
  case 5: return 1;
  case 6: return 3;
  case 7: return 1;
  case 8: return 1;
  case 9: return 2;
  case 10: return 4;
  default: return 0;
 }
}
function UstawStanOdpowiedzi(odpowiedz, poprawna)
{
 var s;
 if (poprawna)
  s = "<span style='color: green;'>Odpowiedz poprawna! Gratuluje!</span>";
  else s = "<span style='color: red;'>Odpowiedz niepoprawna...</span>";
 switch (odpowiedz) {
  case 1: a1.innerHTML = s; break;
  case 2: a2.innerHTML = s; break;
  case 3: a3.innerHTML = s; break;
  case 4: a4.innerHTML = s; break;
  case 5: a5.innerHTML = s; break;
  case 6: a6.innerHTML = s; break;
  case 7: a7.innerHTML = s; break;
  case 8: a8.innerHTML = s; break;
  case 9: a9.innerHTML = s; break;
  case 10: a10.innerHTML =s; break;
  }
}
function SprawdzOdpowiedzi()
{
 var dobre = 0;
 for (var i = 1; i <= 3; ++i) {
  if (DobraOdpowiedz(i) == UdzielonaOdpowiedz(i)) {
  UstawStanOdpowiedzi(i, true);
  ++dobre;
  } else {
  UstawStanOdpowiedzi(i, false);
  }
 }
 window.alert("Liczba poprawnych odpowiedzi:\t" + dobre + "\nLiczba złych odpowiedzi:\t\t" + (10 - dobre));
}
  


  
</script>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body background="tlo2.png">
<form name="quiz">
<p><font>Jaka jest najnowsza kronika Lineage2?</font></p>
<input type="radio" name="q1" value="1" /><font>Kamael</font><br />
<input type="radio" name="q1" value="2" /><font>Gracia</font><br />
<input type="radio" name="q1" value="3" /><font>Interlude</font><br />
<input type="radio" name="q1" value="4" /><font>Chronicle 5</font><br />
<p id="a1"></p>
<p><font>Ktory z mieczy jest C Grade?</font></p>
<input type="radio" name="q2" value="1" /><font>Hommunkulus</font><br />
<input type="radio" name="q2" value="2" /><font>Bastard</font><br />
<input type="radio" name="q2" value="3" /><font>SLS*SLS</font><br />
<input type="radio" name="q2" value="4" /><font>Sword of Miracles</font><br />
<p id="a2"></p>
<p><font>Kto to jest begger?</font></p>
<input type="radio" name="q3" value="1" /><font>Potwor</font><br />
<input type="radio" name="q3" value="2" /><font>Zebrak</font><br />
<input type="radio" name="q3" value="3" /><font>Krasnolud</font><br />
<input type="radio" name="q3" value="4" /><font>Koks</font><br />
<p id="a3"></p>
<p><font>Biegnie do Ciebie ktos wolajacy "Help!" z potworami na ogonie. Co powinienes zrobic?</font></p>
<input type="radio" name="q4" value="1" /><font>Kasuje goscia</font><br />
<input type="radio" name="q4" value="2" /><font>Kasuje potwory</font><br />
<input type="radio" name="q4" value="3" /><font>Natychmiastowa ewakuacja-niech se gosc goni</font><br />
<input type="radio" name="q4" value="4" /><font>Czekasz az padnie, dopiero wtedy zabijasz potwory</font><br />
<p id="a4"></p>
<p><font>Rozszyfruj skrot "PK"?</font></p>
<input type="radio" name="q5" value="1" /><font>Player Kill</font><br />
<input type="radio" name="q5" value="2" /><font>Please Kill</font><br />
<input type="radio" name="q5" value="3" /><font>Permament Kill</font><br />
<input type="radio" name="q5" value="4" /><font>Please Karma</font><br />
<p id="a5"></p>
<p><font>Ktore ze zwierzat jest najtrudniejsze do zdobycia?</font></p>
<input type="radio" name="q6" value="1" /><font>Wilk</font><br />
<input type="radio" name="q6" value="2" /><font>Kuguar</font><br />
<input type="radio" name="q6" value="3" /><font>Wyvern</font><br />
<input type="radio" name="q6" value="4" /><font>Byk</font><br />
<p id="a6"></p>
<p><font>Jak nazywa sie najlepsza bron obuchowa dla maga?</font></p>
<input type="radio" name="q7" value="1" /><font>Arcana Mace</font><br />
<input type="radio" name="q7" value="2" /><font>Atuba Hammer</font><br />
<input type="radio" name="q7" value="3" /><font>Staff of the Dead</font><br />
<input type="radio" name="q7" value="4" /><font>Art of Battle Axe</font><br />
<p id="a7"></p>
<p><font>Walczysz na Olimpiadzie. Grasz Overlordem. Za przeciwnika masz Necro. Jaka jest twoja taktyka?</font></p>
<input type="radio" name="q8" value="1" /><font>Sleep, Silence, Root, Drain Stun i Drain do upadlego</font><br />
<input type="radio" name="q8" value="2" /><font>Drain non stop</font><br />
<input type="radio" name="q8" value="3" /><font>Sleep i obuchem</font><br />
<input type="radio" name="q8" value="4" /><font>Fear i strzelasz z luku</font><br />
<p id="a8"></p>
<p><font>Srednio ile kosztuje Top D Grade bron dla maga?</font></p>
<input type="radio" name="q9" value="1" /><font>1kk</font><br />
<input type="radio" name="q9" value="2" /><font>2kk</font><br />
<input type="radio" name="q9" value="3" /><font>3kk</font><br />
<input type="radio" name="q9" value="4" /><font>1kkk</font><br />
<p id="a9"></p>
<p><font>Jaki atrybut ma Drain Overlorda?</font></p>
<input type="radio" name="q10" value="1" /><font>Fire</font><br />
<input type="radio" name="q10" value="2" /><font>Dark</font><br />
<input type="radio" name="q10" value="3" /><font>Wind</font><br />
<input type="radio" name="q10" value="4" /><font>None</font><br />
<p id="a10"></p>
</form>
<input type="button" value="Sprawdz odpowiedzi" onclick="SprawdzOdpowiedzi();" /> 
</body>
</html>
erix
Cytat

Radpishare? Kpisz? Poza tym, bbCode!

Cytat
błąd na stronie

A może jakiś konkretny?
palka7
Przepraszam za rapida  sciana.gif

a co do "błąd na stronie" to w lewym dolnym rogu IE pojawia się napis "Wystąpił błąd na stronie" i zwyczajnie nic sie nie dzieje, wszystko stoi jak stało

edit: Proszę bardzo, co w końcu jest źle?
erix
Zainstaluj Firefoksa/Operę i użyj debuggera. To coś w IE niewiele mówi i potrafi z błędem wyprowadzić w maliny.
palka7
"debuggera?" prosze o szersze wytłumaczenie(nie znam sie zwyczajnie)

a Opera też coś tego nie łyka, nic sie nie dzieje
dr_bonzo
Zainstaluj Firefoxa + Firebug'a do niego - pokaze ci gdzie masz bledy w JS
ziqzaq
Hejka. Masz literówkę.
Uruchom stronkę w Operze.
Myszką na: Narzędzia -> Zaawansowane -> Konsola błędów.
Wyczyść historię błędów (przycisk po prawej na dole).
Odśwież sobie quiz i popatrz sobie w konsolę błędów a doznasz oświecenia winksmiley.jpg
Piniek
Proszę o poprawę bbcode w pierwszym poście winksmiley.jpg
palka7
Eee co to znaczy:
Cytat
Event thread: click
Error:
name: ReferenceError
message: Statement on line 1: Undefined variable: SprawdzOdpowiedzi
Backtrace:
  Line 1 of function script 

  SprawdzOdpowiedzi();
jak dla mnie o coś ze zmienną idzie ale nie jestem pewien...

edit: Piniek jak daje "code" to wyskakują cuda niewidy jeśli o to ci chodzi
ziqzaq
Czy aby na pewno sprawdzasz ten sam kod, który wkleiłeś w pierwszym poście?
Bo ja dostaję inny błąd. Niczego nie zmieniałeś przed sprawdzeniem kodu?

Edit: Na wszelki wypadek skopiuj ten kod z pierwszego postu, wklej do pustego pliku i sprawdź _jeszcze raz_. Jestem na 99% pewny, że coś zmieniłeś.
palka7
Niczego nie zmieniałem, jestem pewny. A co ci wyskakuje? I czy mam rację że chodzi o zmienną w moim błędzie?

Edit: racja dopisałem ";" po 


 for (var i = 0: i <=3; ++i)

 i teraz mnie jedzie o to co wcześniej napisałem tj.

Cytat
Event thread: click
Error:
name: ReferenceError
message: Statement on line 1: Undefined variable: SprawdzOdpowiedzi
Backtrace:
  Line 1 of function script 

  SprawdzOdpowiedzi();


"variable" to chyba o zmienną chodzi, nie?  sciana.gif



edit2: a u mnie  po poprawce wyskakuje to co wyżej ^



@edit3: a mi nie działa, cały czas jest coś z "undefined variable"
ziqzaq
Ok. To był ten błąd. U mnie po poprawce wszystko śmiga.

Edit: @up dziwne mi ja mam czyściutko w konsoli. Skrypt działa. W tym błędzie chodzi o niezdefiniowaną zmienną SprawdzOdpowiedzi, dziwne.
palka7
No właśnie dziwne, a oprócz tego mam to:

Cytat
Expected token: ';'

 for (var i = 0: i <=3; ++i);
ziqzaq
Wklej cały kod _wraz z poprawkami_ bo widzę, że chyba zmieniłeś trochę kod w pierwszym poście.
np.
Kod
for (var i = 0: i <=3; ++i); <=== Dwa zonki ! Pierwszy to ":" zamiast ";", a drugi to ";" na końcu
  if (document.forms("quiz").elements("q" + pytanie)[i].checked)
  return i + 1;
return 0;


Cytat
Edit: racja dopisałem ";" po
for (var i = 0: i <=3; ++i)

ROTFL teraz to zajarzyłem co napisałeś. smile.gif
Nie na końcu linii! Opera pokazuje ci takim "----^" znaczkiem gdzie jest błąd.
Popatrz sobie wyżej na mój kod i mój _komentarz w tym kodzie_
palka7
Skopiowałem, to samo... Opera wariuje... Dziwne nie?



@Edit: jednak wszystko działa, dzięki  wstydnis.gif wstydnis.gif

@Edit2: Wszystko działa, jednak odpowiedzi sprawdza w pierwszych trzech pytaniach, reszte przyjmuje za błędne(bez wyświetlania pod nimi:zła odpowiedź") Co robić? sciana.gif sciana.gif

@Edit3:
Cytat
for (var i = 1; i <= 10; ++i) {
tak ma być?
ziqzaq
Wiem. Sprawdzasz tylko 3 odpowiedzi:
Kod
for (var i = 1; i <= 3; ++i) {


Edit:
Cytat
Co robić?

Odpowiedź: Znaleźć błąd i go poprawić.
palka7
Wykombinowałem i działa! Dzięki  party.gif wszystko przez nieuwagę ...
ziqzaq
No i gitara guitar.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.