| 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: 11 let
|
|||
0