Autor | Zpráva | ||
---|---|---|---|
Majkelju Profil |
#1 · Zasláno: 10. 1. 2013, 11:01:37
Zdravím, v JS načítám do modálního okna soubor a potřebuju mu předat nějaké parametry...Mám to takto a nějak to nefunguje:
"./safe/kalkulace_graf2.php?index=" + index + "&k_polozka=" + k_polozka var k_polozka = <?echo $k_polozka;?>
Může mi někdo poradit? |
||
Chamurappi Profil |
#2 · Zasláno: 10. 1. 2013, 11:11:26
Reaguji na Majkelju:
Parametry bys měl prohánět funkcí encodeURIComponent , jinak ti budou zlobit, pokud v nich bude třeba ampersand nebo mřížka (a spolehlivé nebudou ani znaky s diakritikou).
„mám předem uložené stylem“ A co v nich je? Čísla? Jestli něco jiného, tak by to také mělo být zapsané odpovídajícím způsobem (v případě řetězce s uvozovkami apod.). „v JS načítám do modálního okna“ Tím myslíš skutečně modální okno, nebo jen nějaký napozicovaný <div> ?
|
||
Majkelju Profil |
#3 · Zasláno: 10. 1. 2013, 11:20:16
Chamurappi:
Zkoušel jsem fci urlencode(), ale s tou to nefungovalo už vůbec... použil jsem to jako: $cesta = urlencode("./safe/kalkulace_graf1.php?k_polozka=".$k_polozka."&index=".$index); swfobject.embedSWF("./open-flash-chart.swf", "my_chart", "440", "200", "9.0.0", "expressInstall.swf", {"data-file":<?echo $cesta;?>} ); V proměnných jsou pouze čísla, okno by mělo být skutečně modální, i když v pojmech se občas ztrácím, prostě pomocí jQuery mi po kliknutí vyskočí to pěkné nastylované okno, ve kterém dělám toto :) |
||
Chamurappi Profil |
#4 · Zasláno: 10. 1. 2013, 11:25:21
Reaguji na Majkelju:
„V proměnných jsou pouze čísla“ Tak ta žádné ošetření nepotřebují. „prostě pomocí jQuery mi po kliknutí vyskočí to pěkné nastylované okno“ To není modální okno. Pod modálním oknem si představuji skutečné okno a ne nějakou <div> nost uvězněnou uvnitř prohlížeče. JavaScript umí v některých prohlížečích otevřít opravdové modální okno.
|
||
Majkelju Profil |
#5 · Zasláno: 10. 1. 2013, 11:41:12
Chamurappi:
Aha, ono s ním lze hýbat, má ovládací prvky a všechno, tak jsem to tak pochopil... No každopádně zkouším tu funkci a pořád to nejede...mohl by jsi mi sem uvést příklad, jak se to používá? Do JS se snažím proniknout už nějaký ten pátek, ale pořád mi přijde, že mi unikají základy :/ |
||
peta Profil |
Majkelju:
"V proměnných jsou pouze čísla". To neni tak zcela pravda. Cesta je take promenna a je to string. <?php $cesta = urlencode("./safe/kalkulace_graf1.php?k_polozka=".$k_polozka."&index=".$index); echo $cesta; // co to vypise? A urcite musis cestu encodovat? protoze si myslim, ze tu cestu nebudes posilat do url, ale predavat javascript funkci jako string. encoduji se jen promenne url, tj $k_polozka ?> <script> swfobject.embedSWF("./open-flash-chart.swf", "my_chart", "440", "200", "9.0.0", "expressInstall.swf", {"data-file":<?echo $cesta;?>} ); </script> {"data-file":<?echo $cesta;?>} - to neni javascriptovy zapis asociativniho pole, podivej se do zdrojoveho kodu stranky (www prohlizec FF - prave tlacitko v obrazovce - zobrazit zdrojovy kod). Minimalne by museli byt kolem stringu apostrofy.
Zkousel jsi tu js funkci seskladat bez php? Pokud ti ta funkce nebude fungovat bez php, tak s php uz vubec. Pokud jsi nejsi jisty, co v php pises a co pak vyleze v html kodu, tak si prohlizej zdrojovy kod stranky. Pokud si nejsi jisty, ze vlozene <?echo $cesta;?> udela, co ma, pak do echa zahrn cely radek i s swfobject.embedSWF. Takze bych to videl asi takto: $cesta = sprintf("./safe/kalkulace_graf1.php?k_polozka=%s&index=%s", urlencode($k_polozka), urlencode($index)); // a nebo zadne url encode, pokud tyto dve promenne jsou jen cisla echo sprintf('swfobject.embedSWF("./open-flash-chart.swf", "my_chart", "440", "200", "9.0.0", "expressInstall.swf", {"data-file":"%s"});', $cesta); |
||
Časová prodleva: 3 dny
|
|||
Majkelju Profil |
#7 · Zasláno: 14. 1. 2013, 08:42:05
Problém vyřešen, ukázalo se, že je nutné v JS použít fci encodeURIComponent, pomocí encodeURI ani PHPčkového urlencode to nefungovalo.
|
||
Chamurappi Profil |
#8 · Zasláno: 14. 1. 2013, 10:08:29
Reaguji na Majkelju:
To se ukázalo už v příspěvku [#2]. Ovšem se samotnými čísly ta funkce opravdu nic neudělá. |
||
Majkelju Profil |
#9 · Zasláno: 14. 1. 2013, 11:37:16
Chamurappi:
Ano, tu fci jsem zkoušel už předtím, ale asi jsem měl něco jiného špatně, proto to nefungovalo. |
||
Časová prodleva: 11 let
|
0