Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con AJAX y DOM

Estas en el tema de Problema con AJAX y DOM en el foro de Frameworks JS en Foros del Web. Buenas a todos, He creado un sistema de votación de noticias mediante AJAX. Hasta aquí todo va perfecto. Ahora pretendo dar un paso más allá ...
  #1 (permalink)  
Antiguo 13/08/2010, 12:17
 
Fecha de Ingreso: junio-2010
Mensajes: 17
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema con AJAX y DOM

Buenas a todos,

He creado un sistema de votación de noticias mediante AJAX. Hasta aquí todo va perfecto. Ahora pretendo dar un paso más allá y quiero que además se reordenen automaticamente de la más votada a la menos votada. Aquí es donde me surge el problema.

Tras votar una de ellas, cuando AJAX recarga el DIV que contiene todas las noticias para que se reordenen en función del numero de votos, mi código javascript parece no detectar las ID de cada una de las noticias, impidiendo al usuario votar cualquier otra, a no ser que refresque la página, claro.

Adelanto que no estoy recargando javascript con AJAX, he separado el codigo js del html siendo llamadas todas las funciones js al final de la página.

Mi pregunta es... ¿Alguien sabe si AJAX inhabilita el DOM cuando carga contenido afectado? ¿Tengo que volver a llamar a las funciones?
  #2 (permalink)  
Antiguo 13/08/2010, 20:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con AJAX y DOM

Hola:

Siempre dependerá de su uso. Si por ejemplo usas innerHTML y responseText, debes hacerlo en donde no haya datos a usar. Hay muchas opciones, pero sin afectar al DOM, pero si se modifica la estructura debe contemplarse.

Saudos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/08/2010, 09:25
 
Fecha de Ingreso: junio-2010
Mensajes: 17
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema con AJAX y DOM

Hola caricatos, gracias por contestar. :)

Efectivamente, uso responseText e innerHTML, asi que miraré esto que me dices. Cuando encuentre la solución la pego aquí.

¡Gracias!
  #4 (permalink)  
Antiguo 14/08/2010, 11:01
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Problema con AJAX y DOM

1984, intenta un timeout...

A lo mejor te ha pasado lo que a mi. Estuve trabajando en unas funcionalidades javascript, ajax y siempre modificando al DOM y todo bien, funcionó como debe de ser. Creaba elementos on the fly y los mismos eran accesibles en el DOM de inmediato, cero problemas. PERO, hubo un momento en que algunas funciones, aunque obtenía los datos y luego creaba lo necesario, no me aparecían en el dom.

Hice unos links que al presionarlos servían de llamadas a funciones de depuración para ver si los objetos existían en el DOM y en efecto, entonces no entendía lo que pasaba...

Al final no entendí qué sucedió pero creaba los elementos y luego intentaba accesarlos en el DOM y no existían pero vía functions aparte sí... mmm raro, entonces pensé qué tal si le dejo un segundo de intermedio antes de accesarlos? y funcionó. Fui bajando el tiempo hasta milisegundos.

Espero haberme explicado claramente, no me pasaba siempre ni con todo, solo con un par de funcionalidades, aunque todo era secuencial y no empezaba algo hasta terminar lo anterior, parecía que los elementos aún no estaban del todo listos, una breve espera lo solucionó todo.

Saludos
  #5 (permalink)  
Antiguo 14/08/2010, 11:40
 
Fecha de Ingreso: junio-2010
Mensajes: 17
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema con AJAX y DOM

Hola mayanmaster, gracias por la aportación, pero si te he entendio bien, en este caso no se trata de un problema de demora en la carga de secuencias de AJAX sino de que el navegador no interpreta el DOM en la cadena devuelta por innerHTML (un archivo html + php). O eso me temo ¿?
  #6 (permalink)  
Antiguo 15/08/2010, 05:00
 
Fecha de Ingreso: junio-2010
Mensajes: 17
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema con AJAX y DOM

De nuevo... Continúo atascado.

He probado a volver a llamar a las funciones javascript una vez hecho el innerHTML (método DOM) pero éstas siguen sin contemplar los ID de mis elementos. Asi que presupongo que el problema radica definitivamente en que javascript no puede interpretar la cadena de texto devuelta por ajax.

¿Alguien tiene una solución? Entiendo que debe de ser un problema bastante común.
  #7 (permalink)  
Antiguo 15/08/2010, 05:12
 
Fecha de Ingreso: junio-2010
Mensajes: 17
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema con AJAX y DOM

Ok. Retiro lo dicho en mi último post, tenía un error que no habia visto. Efectivamente javascript sí interpreta el DOM devuelto por AJAX, pero hay que volver a llamar a las funciones js.

Una vez aplicado el innerHTML, creando las funciones js mediante DOM el problema se resuelve.


Última edición por 1984; 15/08/2010 a las 05:20

Etiquetas: ajax, dom
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.