Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [advAjax] zwrocenie kodu JavaScript
be2k
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 2
Dołączył: 14.07.2006

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


witam
za pomoca advAJAX wywoluje skrypt php, ktory zwraca mi nastepujaca tresc:
  1. <?php
  2. $output='<script type="text/javascript">';
  3. $output.='function lipa() { alert("lalala"); }';
  4. $output.='</script>';
  5. $output.='<div onClick="lipa();">tekst</div>';
  6. echo $output;
  7. ?>

czyli Ajax zwraca html'a z definicja jakiejs funkcji javascriptowej i zarazem w zwroconym html jest wywolanie tej funkcji - tu w divie. Problem polega na tym, ze gdy zwrocony html wstawie na strone i klikne w diva to wyskakuje blad - brak definicji funkcji lipa().

wiem ze mozna to obejsc, gdy funkcje lipa() zdefiniuje wczesniej (w kodzie w ktorym jest wywolanie Ajaxa), ale takie rozwiazanie mnie nie satysfakcjonuje.

napewno ktos spotkal sie z takim problemem, czy znacie jego rozwiazanie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cezar708
post
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


możesz użyć funkcji eval(). Ale pamiętaj aby użyć jej jak będzie status wywołania ajaxowego 200 (czyli strona się załaduje) no i oczywiście wywołujesz samo ciało funkcji, czyli mniej więcej:
Kod
if ( httpRequestStatus == 200 ){
  eval(responseText);
}


a w przedstawionym przypadku musi to być:
Kod
alert("lalala");


Ten post edytował Cezar708 6.08.2007, 14:39:44
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 07:01