Autor | Zpráva | ||
---|---|---|---|
dusanga Profil |
#1 · Zasláno: 3. 8. 2014, 18:48:27
Vytvoril som nasledujuci kod.
Pokiaj do premennej $i vlozim cislo tak to funguje, ak tam vlozim retazec tak nie. Ako to ma byt aby to fungovalo s cislom aj s retazcom? Dakujem. <!DOCTYPE HTML> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <script> function f_ukaz(kk) { alert(kk); }; </script> <?php function vypis() { $i=121; echo "<A><q onClick='f_ukaz($i)'> Klikni </q></A>"; } ?> </head> <body> <div> <?php vypis(); ?> </div> </body> |
||
Zechy Profil |
dusanga:
Vzhledem k tomu, že se zatím ten výpis generuje, obal $i ještě do nějakých uvozovek. Takhle se vygeneruje pro javascript funkce typu f_ukaz(nějáký string). A jak známo, string musí být v uvozovkách. Šlo by to třeba takto: echo "<A><q onClick='f_ukaz(\"$i\")'> Klikni </q></A>"; |
||
dusanga Profil |
#3 · Zasláno: 3. 8. 2014, 19:07:30
Zechy:
Dakujem. Uz to funguje. Este mi nie je jasne preco to nejde s echo "<A><q onClick='f_ukaz(\'$i\')'> Klikni </q></A>"; co som skusal. |
||
Zechy Profil |
#4 · Zasláno: 3. 8. 2014, 19:10:46
dusanga:
Protože ty uvozovky už escapovalo PHP a tudíž se tam dostaly apostrofy do apostrofů, což nejde. |
||
_es Profil |
dusanga [#3], Zechy [#4]:
Okrem toho. keďže ide o HTML atribút, treba použiť HTML „escapovanie“, vloženie apostrofov bude: echo "<A><q onClick='f_ukaz('$i')'> Klikni </q></A>"; \\\' (vo výslednom HTML z toho \' ) namiesto ' fungovať nebude, lebo apostrof ukončuje atribút a v HTML „escapovanie“ opačnými lomítkami nie je.
|
||
Časová prodleva: 3 dny
|
|||
dusanga Profil |
#6 · Zasláno: 7. 8. 2014, 00:43:34
Prosim este o jednu radu.
Neviem do JS funkcie predat ako parameter pole. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script> function pis(aa) { document.write(aa[0]); document.write(aa[1]); document.write(aa[2]); document.write(aa[3]); } </script> </head> <body> <?php $text[0]="Dobry rano."; $text[1]="Dobry den."; $text[2]="Dobry vecer."; $text[3]="Dobru noc."; echo "<A><q onClick='pis(\"$text\")'> Klikni </q></A>" ?> </body> </html> |
||
Chamurappi Profil |
#7 · Zasláno: 7. 8. 2014, 01:24:11
Reaguji na dusangu:
„Neviem do JS funkcie predat ako parameter pole.“ Asi na to budeš potřebovat funkci json_encode .
Jakmile tento problém vyřešíš, narazíš na jiný. Můžu se zeptat, proč používáš zrovna element <q> ?
|
||
Časová prodleva: 10 let
|
0