![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 187 Pomógł: 6 Dołączył: 31.08.2005 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Problem polega na tym, że gdy wyświetlam na stronie responseText w którym jest fragment kodu javascript to w efekcie kod ten nie zostaje wykonany, po prostu nic sie nie dzieje. Gdy ten sam plik wyświetle normalnie na stronie to wszystko działa jak należy... Jak zrobić, żeby JS zadziałał przy wczytaniu z ajaxa?
To jest plik do którego odwołuję się przez ajax i zwracam go na stronie. Link oczywiście poprawnie wyświetla alert. Ten post edytował slammer 28.04.2007, 12:29:42 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj skorzystać z prototype'a tam masz metodę `update` w klasie `Element`
http://www.prototypejs.org/api/element/update Możesz pobawić się samemu, ale jest z tym trochę roboty: - wyciągasz z tekstu JS - wklejasz go do HTML - wykonujesz JS zawarty w tekście |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 1 Dołączył: 5.10.2005 Skąd: Opole/Chorzów Ostrzeżenie: (0%) ![]() ![]() |
może przepuść wynik przez funkcję eval()? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Ten post edytował snipe 30.04.2007, 16:50:41 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 0 Dołączył: 12.02.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Witam! mam podobny problem, z tym że ja używam biblioteki xajax do obsługi technologii AJAX, i w sumie wszystko sprawnie idzie, po za tym małym mankamentem jakim jest właśnie problem z javascript umieszczonym w zwracanym kodzie strony...
Czy ktoś jest w stanie mi pomóc z tym (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) P.S. szukałem w dokumentacji xajax może jest jakaś gotowa funkcja która ten problem niweluje, mi się nie udało jej znaleźć :/ Ten post edytował yaotzin 2.05.2007, 23:36:59 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam identyczny problem, wczytując coś do DIV co posiada JS i powinno się wykonywać - poprostu nie działa. Jak widzę problem jest spory bo nie ma żadnych odpowiedzi rozwiązujących to.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 0 Dołączył: 12.02.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Swoje już załatwiłem, w bibliotece xajax jest taka funkcja addScriptCall i addScript w zupełności wystarczyły do moich celów opisałem to w jakimś innym wątku.
A nie działa z tego powodu iż skrypt musiałby być wywołany przy ladowaniu strony, a przy ajax jest nieco inaczej i stąd problem, należy zrobić tak jak jest powyżej napisane albo użyć prototype.js (doskonały wzorzec projektowy) albo napisać własną funckcję temu służącą (może się ktoś podzieli :]) lub użyć tak jak ja to zrobiłem xajax i jego funkcji bibliotecznych. można też z xajax zgapić jak to jest zrobione metod jest wiele, a wynik pewnie jeden. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
z przykroscia musze dolaczyc do dyskucji poniewaz mam taki sam problem z tym ze ja uzywam advAJAX i po sprawdzeniu w bazie w przypadku bledu chce zeby zwrocilo kod js ktory zmieni kolor pola input ale zamiast zmienic kolor kod jest wyswietlany.
Zna ktos rozwiazanie dla advAJAX?? |
|
|
![]()
Post
#8
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
wysyłany kod przepuścić przez eval?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
Odpowiedź w formie pytania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Skoro przesyłasz ajaxem javascript to aby sie wykonał trzeba go wrzucić w eval bo inaczej jest traktowany jak zwykły tekst...
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
No dobra, EVAL , ale jak tego użyć? Skoro mój skrypt wczytuje coś do DIV'a za pomocą .innerHTML? Jak użyć EVAL?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 187 Pomógł: 6 Dołączył: 31.08.2005 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
możecie "przefiltrować" responseText w taki sposób:
znalezione gdzies na forum (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) sprawdziłem i działa teraz bez zarzutu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 2 Dołączył: 24.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może to pomoże
Czyli najważniejsze dodać javascript do objektu header; poza tym w dodawanym .js można dodać funkcje która ma być od razu po załadowaniu wywołana. no i (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, przeczytałem wcześniejsze posty nie rozwiązało to mojego problemu. To mój kod:
Przy wykorzystaniu tego kodu pobieram podstronę i ją ładuję do div`a, no ale nie wykonuje się kod javascript tam zawarty, co jest logiczne, bo musi go przeglądarka przetworzyć a nie ma jak bo się strona nie przeładowała. Może to pomoże Czyli najważniejsze dodać javascript do objektu header; poza tym w dodawanym .js można dodać funkcje która ma być od razu po załadowaniu wywołana. no i (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) To działa, ale tylko jak ładujesz zewnętrzne pliki js, a jak zrobić aby wykonał się kod między znacznikami <script>. Jak ktoś wiem, to prosił bym o jakieś konkretne rozwiązanie (co cza do mojego kodu dodać aby śmigało), bo przeglądnełem już chyba ze 100 storn www i kurna żadnych konkretów ... i proszę bez tekstów poszukaj w google, bo szuakłem i naprawdę ciężko coś znaleźć, powtarza się motyw z eval(), ale próbowałem i muszę chyba coś źle robić, bo za chiny mi to nie działa ... javascript to nie mój mocny punkt, ale chcę usprawnić portal napisany w php i gdyby nie ten problem , to szło mi nieźle z tym ajaxem..... z góry dzięki za odp. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 28.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
to ciekawe ja korzystam z innerHTML i mi wszystko poprawnie działa ;]
a i podczas wykorzystania innerHTML przeglądarka musi zinterpretować to co zostanie przypisane więc kod powinien się wykonać ;] |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
No w ajaxie tak nie jest niestety ... kod się nie wykonuje
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 1 Dołączył: 5.10.2005 Skąd: Opole/Chorzów Ostrzeżenie: (0%) ![]() ![]() |
nie umiecie przepuścić wyniku przez eval()(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie umiecie przepuścić wyniku przez eval()(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Wychodzi misiu na to że nie, pomogłeś mi że hej (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) Efekt przepuszczenia przez eval(), jest taki że strona mi się przeładowała i wykonał się tylko kod javascript. Dla przykładu, w pliku jest kod:
Plik ten pobieram przez ajax`a i wrzucam do div`a. Przed wykonianiem :
wykonuję funkcję którą podał kolega kilka postów wyżej. Efekt w FF, strona się przeładowuje i wyświetla się link xxxxx@wp.pl , czyli kod się wykonał, tylko że nic po za nim nie ma. W IE nic się nie dzieje, tylko sygnalizuje błąd javascript. Więc pytam się jak to powinno wyglądać, bo może coś źłe robię ... |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 187 Pomógł: 6 Dołączył: 31.08.2005 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Kod działa tylko że jest mały zonk... trzeba całego JS zapisać w jednej linii... W przeciwnym wypadku zostanie zinterpretowana tylko jedna linijka kodu.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Fakt, teraz jak dałem w jednej linii kod to działa ... ale kurna dużo zachodu z tym, chyba sobie podaruje tego ajaxa ..... pozdro
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.08.2025 - 08:59 |