Witam i przechodzę do rzeczy.
Mam sobie funkcję:
Funkcja jest dołączana do stronki z pliku *.js
Na stronce mam kod:
Zmienna $zdj jest tablicą przechowującą nazwy zdjęć.
Jak zapewne widać próbuję wysłać tablicę php do funkcji js jako jej argument, a następnie wyświetlić jeden z jej elementów w alercie.
Niestety ten sposób nie działa.
Próbowałem również tak:
Bez zmiany funkcji, jak również z drobną zmianą.
Żaden z wariantów nie zadziałał.
W jaki sposób należy to zrobić, aby tą tablicę przekazać do funkcji?
//edit
Problem został rozwiązany.
Efektem funkcji json_encode($zdj) jest tablica w postaci
Podczas gdy tablica przekazywana do funkcji js powinna mieć postać:
Tak więc wystarczyło zamienić znak " na ' i wszystko działa poprawnie.
Mam sobie funkcję:
| Code: |
|
function MoreRotate(kierunek, ilosc, tablica) { var name1=document.getElementById('more_min_1').name; var name2=document.getElementById('more_min_2').name; var name3=document.getElementById('more_min_3').name; alert('name1='+name1+'\nname2='+name2+'\nname3='+name3+'\nkierunek='+kierunek+'\nilość='+ilosc+'\ntablica='+tablica[1]); } |
Funkcja jest dołączana do stronki z pliku *.js
Na stronce mam kod:
| Code: |
|
echo('<img onclick="MoreRotate(\'up\', '.$ilosc_zdj.', json_encode($zdj));" width="86" height="20" border="0" src="gfx/navigacja/up.jpg">'); |
Zmienna $zdj jest tablicą przechowującą nazwy zdjęć.
Jak zapewne widać próbuję wysłać tablicę php do funkcji js jako jej argument, a następnie wyświetlić jeden z jej elementów w alercie.
Niestety ten sposób nie działa.
Próbowałem również tak:
| Code: |
|
echo('<img onclick="var zdjatka=new Array('); for($i=0; $i<$ilosc_zdj; $i++) { echo('"'.$zdj[$i].'"'); if(!($i>=($ilosc_zdj-1))) { echo(', '); } } echo('); MoreRotate(\'up\', '.$ilosc_zdj.', zdjatka);" width="86" height="20" border="0" src="gfx/produkty/navigacja/up.jpg">'); |
Bez zmiany funkcji, jak również z drobną zmianą.
| Code: |
|
function MoreRotate(kierunek, ilosc, tablica[]) ... function MoreRotate(kierunek, ilosc, Array tablica) ... function MoreRotate(kierunek, ilosc, Array tablica[]) |
Żaden z wariantów nie zadziałał.
W jaki sposób należy to zrobić, aby tą tablicę przekazać do funkcji?
//edit
Problem został rozwiązany.
Efektem funkcji json_encode($zdj) jest tablica w postaci
| Code: |
| ["1element", "2element", ..., "n element"] |
Podczas gdy tablica przekazywana do funkcji js powinna mieć postać:
| Code: |
| ['1element', '2element', ..., 'n element'] |
Tak więc wystarczyło zamienić znak " na ' i wszystko działa poprawnie.
