Zauważyłem, że masz „window.location.reload(true);” w twoim kodzie. Czemu? Wygląda na to, że to sprawi, że rzeczy nie będą działać.
Powinieneś spróbować przeanalizować swój program, aby dowiedzieć się, gdzie występuje problem. Wtedy będziesz mógł zadać nam bardzo konkretne pytanie, takie jak „dlaczego Firefox nie uruchamia obsługi onClick po kliknięciu tego linku”, zamiast po prostu opublikować trzy strony kodu. Kiedy wklejasz tak dużo kodu, trudno jest nam znaleźć Twój błąd.
Oto pytania, które powinieneś zadać:
-
Czy mój kod HTML jest prawidłowo analizowany? Dla mnie wygląda na to, że może nie zostać poprawnie przeanalizowany, ponieważ nie umieściłeś cudzysłowów wokół wartości onClick. Powinieneś używać cudzysłowów, takich jak:onClick="..." Aby dowiedzieć się, czy Twój kod HTML jest poprawnie analizowany, możesz użyć funkcji Widok->Źródło przeglądarki Firefox i sprawdzić, jakie kolory są drukowane.
-
Czy mój program obsługi onClick jest wywoływany? Wygląda na to, że efektywnie używasz alert(), więc to dobrze.
-
Czy żądanie faktycznie jest wysyłane na mój serwer? Aby to ustalić, powinieneś użyć Firefoksa i zainstalować Firebug rozbudowa. W panelu „Sieć” pokaże Ci wszystkie żądania AJAX, które są wysyłane przez Twoją stronę, a także wyniki, które zostały zwrócone z serwera.
-
Czy skrypt na moim serwerze działa właściwie? Po stronie serwera możesz teraz dodawać wiersze, takie jak „echo 'hello world';” a zobaczysz to wyjście w panelu Firebug Net, który pomoże ci debugować zachowanie twojego skryptu po stronie serwera.
-
Czy moja funkcja stateChanged jest wywoływana? Jeszcze raz użyj instrukcji alert() lub napisz do konsoli debugowania Firebug .
Po zawężeniu problemu spróbuj zredukować kod do najprostszego możliwego kod, który nadal nie działa. Następnie pokaż nam kod i powiedz nam dokładnie, jakie są objawy błędu.
Z drugiej strony polecam zaopatrzenie się w tę książkę:Javascript:The Deinitive Guide, 5th Edition autorstwa O'Reilly . Obejmuje wiele fajnych rzeczy, takich jak AJAX i zamknięcia. Kosztuje 50 USD, ale jest to zdecydowanie dobra inwestycja, ponieważ wyjaśnia rzeczy w znacznie bardziej spójny sposób, niż kiedykolwiek uzyskasz z bezpłatnych stron internetowych.