![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
w Body wywołuję tak: <body onload="getpodkatlist1(40)" ; onload="getpodkatlist2(23)"> wywołuje mi się tylko jedna z nich ale dwóch na raz nie mogę wywołać . Dorwałem wtedy w necie kolejną funkcję do wywoływania dwóch funkcji javascript . function onLoadHandler(init_fxn) { var old_init = window.onload; var new_init = init_fxn; window.onload = function(){ if (typeof(old_init)=="function") { old_init; } new_init; } return this; } </script> i próbowałem to wywołać tak: <script type="text/javascript"> new onLoadHandler(getpodkatlist('21')); new onLoadHandler(getpodkatlist2('40')); </script> Gdy wywołuję powyższym handlerkiem funkcję getpodkatlist('21') lub getpodkatlist2('21') to żadna z nich nie działa. Jak wywoływałem je w Body przez onload to chociaż jedna zawsze się ładowała. Gdy wywołuję handlerkiem testową funkcję np. jedną funkcją wołanie alertu, a drugą funkcją np. documet.write() to wszystko działa pięknie. No i teraz sądzę, że problem jest gdzieś w ajax. Tylko nie za bardzo mam pomysł jak wywołać ajax 2 razy albo żeby odpytał plik .php ,a ajax.requestFile odebrał wynik i go zwrócił po czym żeby zrobił to samo na rzecz kolejnego obiektu tą samą metodą. ajax.requestFile - może tu jest gdzieś problem? na pytanie do czego jest ta funkcja odpowiadam - a no do wywoływania kategorii, a potem podkategorii z opcją zapamiętywania wyboru po wysłaniu formularza .Chcę żeby funkcja onload zwrócila mi zapamiętany wynik w opcji wyboru
Ajax wywołuję ten plik getpodkat.php
Na pytanie po co wywołuje tą funkcję dwa razy - odpowiadam bo chcę dać do wyboru użytkownikom dopisania się do kilku kategorii w katalogu. |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Obie funkcje korzystają z tego samego pliku. Ale moim zdaniem nie powinno mieć to znaczenia. Każda z nich odbiera swoje wyniki bo ma inne wartości wsadowe . Gdyby nadpisywała działanie poprzedniej to w jednej i w drugiej załadowałoby się chociaż to samo. Robiłem testy na to wywołując w jednej i w drigiej te same kategorie z tym samym id. Tak wiec powinny się załadować obydwie gdyby nadpisywała któraś. A tak nie jest.
Wydaje mi się że to Ajax jest wywoływany tylko raz. bo funkcje działają ok. Problem zaczyna się tu
Nie ma jakiegoś sposobu aby zdarzenia wywołać po kolei podczas wczytywania ? Najpierw jedna funkcja potem druga. Sądzę, że trzeba zrobić to tak : określić czy Ajax zwrócił wynik poprawnie po czym wywołać kolejną funkcję wewnątrz poprzedniej. Spróbuję coś wydziergać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 06:54 |