Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kod php w javascripcie
Legro
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




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"?

Ten post edytował batman 25.11.2006, 23:29:40
Go to the top of the page
+Quote Post
Legro
post
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


@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. ?>
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@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
Go to the top of the page
+Quote Post
php programmer
post
Post #6





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


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

Ten post edytował php programmer 26.11.2006, 10:50:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:42