![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Wyobraźmy sobie, że mamy taki link:
i funkcję: Po kliknięciu wywołana zostanie funkcja "kliknieto()", która dokona advAjaksowego get i w przypadku powodzenia wstawi responseText do jakiejś warstwy. W przypadku błędu chciałbym, żeby strona przeładowała się do skryptu mojSkrypt.php. Oczywiście powyższy sposób nie zadziała, bo metoda get nie zwraca tego, co mnie interesuje. Wymyśliłem poniższy sposób, ale wydaje mi się, że jest trochę naokoło. Mianowicie, przekazuję funkcji "kliknieto" alternatywny link, a następnie, w przypadku advAjaksowego onError, przekierowuję przeglądarkę do tejże alternatywnej strony: Zarówno link "mojSkrypt.php" jak i funkcja "kliknieto()" będą bardziej wyrafinowane, ale chodzi o ogólną ideę - moją intencją jest, aby strona zawierała elementy ajaksowe, ale w przypadku braku javascripta w przeglądarce lub jakichkolwiek błędów, ma zadziałać tradycyjne kliknięcie. Powyższy sposób ma jeden mankament, poza estetyką - w przypadku błędu javascriptowego, np. jeśli na jakiejś przeglądarce coś nie zadziała, wówczas ani nie wyświetli się responseText, ani nie zostanie wywołany skrypt mojSkrypt.php, czyli użytkownik będzie klikał do upadłego i nic się nie wydarzy. Będę wdzięczny za pomysły inne od zaprezentowanego powyżej ![]() -------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 0 Dołączył: 29.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
spróbuj takiej wersji |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
To nie przejdzie
![]() Metoda "get()" zwraca sterowanie natychmiast po wywołaniu, nie czekając na otrzymanie odpowiedzi z serwera; pobieranie pliku.txt odbywa się w tle. Inaczej mówiąc:
Ten post edytował msulik 6.07.2007, 23:04:12 -------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 160 Pomógł: 4 Dołączył: 22.04.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj:
Aby pod IE7 tez działało: -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
A jak w takim razie powinna wyglądać funkcja foo?
-------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 210 Pomógł: 0 Dołączył: 31.01.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W wersji łopatologicznej można ten problem rozwiązać tak, że strona alternatywna jest wyświetlana z marszu (w html), a w przypadku gdy ajax pobierze dane są one wczytywana zamiast tego elementu w którym wcześniej była zawartość alternatywna.
-------------------- Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:48 |