![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Przejrzałem kilka wątków w tym temacie ale nic sensownego nie znalazłem, może ktoś z grupowiczów mi pomoże .... ? Otóż mam taki problem: 1.skrypt.php który generuje mi kod html+javascript - działa wywołany bezpośrednio np. 2. natomiast jeśli przepuszczam go przez AJAX - już nie !
3. jesli w pliku skrypt.php mam np. <script> alert('tekst'); </script> - to eval działa, ale jesli np chciałbym już coś wyświetlić w odpowiednim miejscu kodu html generowanego w tym skrypcie to już nie daje rady (IMG:style_emoticons/default/sad.gif) Czy ktoś z szanownych grupowiczów przyjdzie mi z pomocą ? Może jest jakaś inna ścieżka na rozwiązanie tego problemu ? POMOCY ! pozdr, AdamP |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jakbyś użył jQuery to byś nie miał problemu (IMG:style_emoticons/default/smile.gif)
jQuery z automatu przetwarza kod js |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ajax służy do pobierania danych, a nie do pobierania kodu JS. Oczywiście, można i tak, ale to nie jest najlepszy pomysł. Napisz co chcesz osiągnąć - na pewno można to zrobić w lepszy (bezpieczny) sposób.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za szybką odpowiedź (IMG:style_emoticons/default/smile.gif)
Przerobiłem kod do jQuery - fakt, szybko, miło i sprawnie ...niestety utknąłem w tym samym miejscu. A o to przykład: (później opiszę do czego mi to potrzebne, być może faktycznie powinienem isć inną drogą rozumowania?) 1. plik z ajaxem:
oraz kod z pliku wywoływanego przez jQuery (ajax) ....(akurat w tym przypadku echo z pierwszego i drugiego pliku niczym się nie różni ale w założeniu ma być i to znacznie)
OK. to był przykład który jeśli by mi zadziałał byłbym już w domu. A teraz pokrótce opiszę co chciałbym uzyskać. Otóż mój kod php generuje formularz na podstawie konfiguracji zapisanej w bazie.Kilka typów kontrolek może wywoływać podscenariusze formularza głównego w zależności od konfiguracji i aktualnych danych. Efekt docelowy który chcę/muszę uzyskać to aby po zmianie wartości kontrolki x odrysować nowy formularz wraz z podscenariuszem wywołanym przez tą kontrolkę bez odświeżania strony.Czyli plik php wywolany przez ajax'a ma za zadanie stworzyć nową wersję scenariusza wysyłając echo 'kod html';. Wszystko działa pięknie jeśli mam standardowe kontrolki, ele wykorzystuję w formularzu dwie dodatkowe (gotowce javascript), które po przeładowaniu przez ajax już nie działają (IMG:style_emoticons/default/sad.gif) . przykład powyżej. Problem pokrótce wygląda tak. Czy jest na to jakieś sensowne rozwiązanie (IMG:style_emoticons/default/questionmark.gif) ? pozdr, AdamP |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) do diva o id div1 wgrywasz ajaxem znowu diva o id div1. W efekcie koncowym masz dwa divy o id div1 jeden w drugim
2) nie <script> a <script type="text/javascript"> 3) trudno mi coś wiecej powiedziec, mi tam takie cos zawsze dziala 4) masz to gdzies wystawione? Mozemy obejrzec to w dzialaniu? 5) zainstaluj sobie FireBug'a dla FireFox - bardzo pomaga przy takich sprawach |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Co do pkt 1. i 2. to faktycznie, jest jak mówisz. mój błąd co nie zmienia faktu że mi nie działa.
Dopiero dziś mogłem wystawić przykład. Możecie to podejrzeć na http://www.czg.pl/ajax/1.php Oba comboboxy wywołują akcję ajaxa. plik 2.php daje takie samo echo form1. efekt można zobaczyć. 1.php
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mi tam Twoje selecty przeladowują całą stronę. Nic dziwnego ze ci nie dziala (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ano właśnie coś jest nie tak z <script .... w pliku 2.php. bo jak wytne ten fragment to jest OK. Zerknij teraz (IMG:style_emoticons/default/exclamation.gif) !
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
a pokaz dokladnie co ladujesz w skript2.php
Włącznie z javascriptami. Dokladnie co do joty prosze (IMG:style_emoticons/default/smile.gif) Co robi te: DateInput("k15", true, "YYYY-MM-DD", "2010-06-25"); Bo mi się w firebugu wywala ze nie znalazl elementu k15 czy jakos tak. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
plik 2.php
i wersja z javascript
DateInput tworzy kontrolke data ktora masz w formularzu podstawowym plik 1.php ale problem chyba ogolnie jest z javascriptem po zaladuwaniu kodu w ajax. zamieniajac na jest to samo (IMG:style_emoticons/default/sad.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No hej,
to wina przez to document.write Jak tam dasz zwyklego alerta alert('blabla'); to dziala. A twoj kalendarz również korzysta z document.write. Nigdy nie uzywam tego ustrojstwa "document.write" więc się nigdy nie spotkalem z tym problemem. Nie mozesz skorzystac z normalnej kontrolki kalendarza? np. jQuery calendar. One pracują trochę bardziej "normalnie" (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Nigdy nie uzywam tego ustrojstwa "document.write" więc się nigdy nie spotkalem z tym problemem. Tej konstrukcji można używać wyłącznie na etapie renderowania strony. Więc w jakimkolwiek zdarzeniu ona po prostu nie zrobi niczego. |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Więc w jakimkolwiek zdarzeniu ona po prostu nie zrobi niczego. Hehe, no wlasnie nie. W tym wlasnie opisanym tu przypadku to "badziewie" nie dość ze robi to jeszcze psuje (IMG:style_emoticons/default/smile.gif) . powoduje odswieżenie strony.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
OK. Tak zrobiłem. i działa (IMG:style_emoticons/default/exclamation.gif) ! dzięki wielkie za pomoc (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 03:23 |