Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod php w javascripcie
Forum PHP.pl > Forum > Przedszkole
Legro
Mam taki kodzik do dodawania nowych 'galezi':


  1. <script type="text/javascript">
  2. iTree = new dTree('iTree');
  3. iTree.add(0,-1,'DRZEWO');
  4. iTree.add(1,0,'-----TUTAJ-----','link.html');
  5. document.write(iTree);


I zamiast -----TUTAJ----- chcialbym dać kod php
  1. <?php echo $row['NAME']; ?>


Tyle że to nie działa, wiec czy istnieje inny sposób ?
mike
Aby wykonać jakiś kod php "za pomocą" JavaScript musisz to zrobić asynchronicznie.
Kłania się AJAX.

I proszę poprawić temat wątku zgodnie z zasadami opisanymi w zasadach pisania na forum Przedszkole.
batman
Cytat
Aby wykonać jakiś kod php "za pomocą" JavaScript musisz to zrobić asynchronicznie.


Hmm. Wydaje mi się, że się mylisz.

Kod
alert("<?=$zmienna?>");


Co to wyświetli (zakładając, że $zmienna ma jakąś wartość)?

@Legro
Sprawdź czy $row['NAME']; coś zwraca. Możliwe, że masz pustą zmienną i dlatego Ci nie działa. Tak na marginesie. Napisz czym objawia się "nie działanie"?
Legro
@batman, zaraz wyprobuje Twoj kod.
$row['NAZWA'] ma wartosc, jest to string.

A objawia sie tym, ze pokazuje sie blad Parse error.. cos tam.. T_STRING... ale to blad skladni i apostrofow. Probowalem tez dac slashe ale to nie pomoglo.

Przypadkowo zauwazylem ze w klasie nospora jest w uzyty kod php w javascripcie:

  1. <?php
  2. $ret = '<input type="hidden" id="'.$idTree.'_actionUrl" value="'.$actionUrl.'"/>'.
  3. ($showFoldersIcons ? ' <input type="hidden" id="'.$idTree.'_showFoldersIcons" value="1"/>' : '').
  4. ($debugMode ? ' <input type="hidden" id="'.$idTree.'_debugMode" value="1"/>' : '').
  5. ($showWait ? ' <div id = "'.$idTree.'_wait" class="tree_wait" style="display:none"><img src="'.$showWait.'" /></div>' : '').
  6. '<div id = "'.$idTree.'_li_root" class="tree_root"></div>
  7. <script language="javascript">
  8. treeExpand(''.$idTree.'','root''.($extraParameter ? ','.$extraParameter : '').');
  9. </script>
  10. ';
  11. ?>
Cysiaczek
@Legro - Parse error... czyli błąd składni. W swojej wypowiedzi napisałeś "coś tam", a ta właśnie część tego komunikatu jest najbardziej interesująca
php programmer
Cytat
Aby wykonać jakiś kod php "za pomocą" JavaScript musisz to zrobić asynchronicznie.
Kłania się AJAX.

Nie do końca się zgadzam, użycie Ajaxa jest konieczne jedynie wtedy,
gdy dane pochodzące z serwera nie są z góry znane,
w przeciwnym wypadku wystarczy zrobić tak jak pokazał @batman,
Ja nawet posunąłem się dalej (wymyśliłem to zanim poznałem Ajaxa),
jeśli danych nie jest dużo to można w php od razu pobrać je wszystkie
i wpisać do zmiennych JS, a potem w JS manipulować nimi,

na przykład mamy galerię zdjęć, najpierw w php
pobieramy z bazy nazwy plików ze zdjęciami danej kategorii
(najczęściej jest ich kilkanaście, max kilkadziesiąt)
wpisujemy te nazwy do tablicy JS, a potem np po naciśnięciu
guzika "następne" lub "poprzednie"
za pomocą funkcji JS zmieniamy odpowiednio atrybut src

jeśli mamy zbyt dużo danych, aby za jednym zamachem załadowac je do
JS do pozostaje Ajax
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.