Noté que tienes "window.location.reload(true);" en tu código. ¿Por qué? Eso parece que haría que las cosas no funcionaran.
Debe intentar analizar su programa para averiguar dónde está ocurriendo el problema. Luego, podrá hacernos una pregunta muy específica como "¿por qué Firefox no activa el controlador onClick cuando hago clic en este enlace?" en lugar de simplemente publicar tres páginas de código. Cuando pegas tanto código, es bastante difícil para nosotros encontrar tu error.
Estas son las preguntas que debe hacer:
-
¿Mi código HTML se analiza correctamente? Para mí, parece que podría no analizarse correctamente porque no puso comillas alrededor del valor de onClick. Debe usar comillas, como:onClick="..." Para averiguar si su HTML se está analizando correctamente, puede usar la función Ver->Fuente de Firefox y ver los colores que imprime.
-
¿Se está llamando a mi controlador onClick? Parece que estás usando alerta() de manera efectiva, así que eso es bueno.
-
¿Se envía realmente la solicitud a mi servidor? Para determinar esto, debe usar Firefox e instalar el Firebug extensión. En el panel "Red", le mostrará todas las solicitudes AJAX que está realizando su página, y le mostrará los resultados que fueron devueltos por el servidor.
-
¿El script en mi servidor está haciendo lo correcto? Entonces, en el lado del servidor, ahora puede agregar líneas como "echo 'hello world';" y verá ese resultado en el panel Firebug Net, que lo ayudará a depurar el comportamiento de su secuencia de comandos del lado del servidor.
-
¿Se está llamando a mi función stateChanged? Una vez más, use sentencias alert(), o escriba a Consola de depuración de Firebug .
Una vez que haya reducido su problema, intente reducir su código a lo lo más simple posible código que todavía falla. Luego muéstranos el código y dinos exactamente cuáles son los síntomas del error.
En otra nota, recomiendo conseguir este libro:Javascript:The Deinitive Guide, 5th Edition by O'Reilly . Cubre muchas cosas geniales como AJAX y cierres. Cuesta $ 50, pero definitivamente es una buena inversión porque explica las cosas de una manera mucho más coherente que la que obtendrá de los sitios web gratuitos.