Autor | Zpráva | ||
---|---|---|---|
pema01 Profil |
#1 · Zasláno: 20. 1. 2015, 19:22:21
Ahoj,
potřebuji se zeptat jak se dá proměnná z parametru funkce jako argument do php pole. Názorně: <script type="text/javascript"> function prover (var id){ var prvek = document.getElementById(id); var odpoved = <?php echo $otazka[?????] ?> var spravnaOdpoved = <?php echo $spravnaOdpoved; ?>; } </script> Namísto 5 otazníků potřebuji umístit var id (tedy parametr). Díky za pomoc. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 20. 1. 2015, 19:39:28
|
||
pema01 Profil |
#3 · Zasláno: 20. 1. 2015, 19:53:25
takže to nelze?
|
||
pema01 Profil |
#4 · Zasláno: 21. 1. 2015, 20:23:33
tak mi to stále nefunguje, problém je totiž komplexnější:
chci udělat program, který když kliknete na správnou odpověď, text správné odpovědi se zabarví do červena. Jenže hází mi to, že metoda prover() is not defined. <form> <table border="1" style="text-align: center"> <tr><td colspan="2"><?php echo $otazka["obsah"]; ?></td></tr> <tr><td id="0" onclick="prover('0')"><?php echo $otazka[0]; ?></td><td id="1" onclick="prover('1')"><?php echo $otazka[1]; ?></td></tr> <tr><td id="2" onclick="prover('2')"><?php echo $otazka[2]; ?></td><td id="3" onclick="prover('3')"><?php echo $otazka[3]; ?></td></tr> </table> </form> <script type="text/javascript"> function prover (var id){ var prvek = document.getElementById(id); var odpoved; switch (id){ case "0": odpoved = <?php echo $otazka[0];?>; break; case "1": odpoved = <?php echo $otazka[1];?>; break; case "2": odpoved = <?php echo $otazka[2];?>; break; case "3": odpoved = <?php echo $otazka[3];?>; break; } var spravnaOdpoved = <?php echo $spravnaOdpoved; ?>; if (odpoved === spravnaOdpoved) { prvek.style.color="red"; } } </script> |
||
weroro Profil |
Možno, že iba moja nevedomosť, ale nebude chyba v tejto časti?
function prover (var id){ |
||
Davex Profil |
#6 · Zasláno: 21. 1. 2015, 20:46:07
A řetězce patří do uvozovek.
|
||
pema01 Profil |
#7 · Zasláno: 21. 1. 2015, 20:50:09 · Upravil/a: pema01
no opravdu, funguje to!!!
já myslel, že se musí někde založit ta proměnná, tak jako je to v Javě (tam se dává int id). Díky moc divné ovšem je, že mi to funguje pouze pokud odpovědi jsou číslice... na slova to nereaguje :'( |
||
Davex Profil |
#8 · Zasláno: 21. 1. 2015, 21:02:03
Jsou ta slova v uvozovkách?
|
||
pema01 Profil |
#9 · Zasláno: 21. 1. 2015, 21:04:44 · Upravil/a: pema01
no to nejsou, jak by také byla, když je vypisuji z proměnné v PHP...
ale stále moc nechápu kde je chyba... :( |
||
weroro Profil |
pema01:
„já myslel, že se musí někde založit ta proměnná, tak jako je to v Javě (tam se dává int id). Díky moc“ int id neznamená založiť novú premennú ale to, že premenná v tom argumente je dátového typu integer (čiže číslo) Javascript toto nevyžaduje a dokonca to nie je povinné (ale je to možné) ani u jeho mladšieho brata ActionScriptu 2, i keď ten je pomerne dosť silne typový. Tie úvodzovky/apostrofy urobíš takto switch (id){ case "0": odpoved = '<?php echo $otazka[0];?>'; break; case "1": odpoved = '<?php echo $otazka[1];?>'; break; case "2": odpoved = '<?php echo $otazka[2];?>'; break; case "3": odpoved = '<?php echo $otazka[3];?>'; break; } var spravnaOdpoved = '<?php echo $spravnaOdpoved; ?>'; |
||
_es Profil |
#11 · Zasláno: 21. 1. 2015, 23:46:19
weroro:
„Tie úvodzovky/apostrofy urobíš takto“ Lepšie je asi použiť na to určenú funkciu json_encode, tak ako v už odkazovanom článku. |
||
pema01 Profil |
Děkuji moc, já s JS a PHP opravdu teprve začínám a bez vás nevím co bych dělal, na takové chyby bych jen tak nepřišel :D
|
||
Časová prodleva: 9 let
|
0