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

como recargar un div desde sí mismo?

Estas en el tema de como recargar un div desde sí mismo? en el foro de Frameworks JS en Foros del Web. Hola amig@s. Me gustaría hacer algo que no sé si es posible, dada la complejidad del asunto. Mi sitio se compone de 3 divs, uno ...
  #1 (permalink)  
Antiguo 10/03/2010, 04:07
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 17 años
Puntos: 2
como recargar un div desde sí mismo?

Hola amig@s.

Me gustaría hacer algo que no sé si es posible, dada la complejidad del asunto.

Mi sitio se compone de 3 divs, uno para menús que no cambia, otro para vídeo que se manda desde la url y otro para contenido que se carga dependiendo del botón o enlace que pulses, también pasado por url.

Yo no estoy muy ducha con ajax, pero me gustaría avanzar un poquito en esta tecnología así que quiero hacer una cosa:
Resulta que uno de los contenidos que cargo se compone de 2 enlaces de esta forma
Código PHP:
<a href='./Index.php?action=accion_a_realizar&cabecera=cabecera_a_mostrar&flv=video' onclick='javascript:cargaDivLink();'>Link</a
Los 2 enlaces están en un div de una función, la cual tiene también otro div más por el texto correspondiente a cada enlace, en modo hidden.
La cosa está en que al pulsar el link io tengo que mandar por url la cabecera y el video que se tienen que cargar, pero esto conlleva también mandar la acción(que si no se manda se carga otra cosa distinta). Pro me gustaría poder mandar esos 2 parámetros igualmente y luego con ajax recargar sólo ese div haciendo visible solo el div correspondiente al enlace y haciendo invisible el que contiene los enlaces en sí. Aunque creo que entonces debería también cargar con ajax el div del vídeo y el de la cabecera y pasar los parámetros de otra forma, no es asi??

Por ahora he probado con esta función javascript/ajax
Código Javascript:
Ver original
  1. function recargadiv()
  2.         {
  3.             var txtnuevo = document.getElementById('txtnuevo').innerHTML;
  4.             $.post("Index.php", {text: txtnuevo}, function(data)
  5.             {
  6.                 $("#menucambiante").html(data);
  7.             })
  8.  
  9.         };
siguiendo varios ejemplos que he encontrado por la red. Pero lo que hace es cargarme toda la web en el div menucambiante, no el texto que estoy capturando con la variable txtnuevo.
La verdad es que no entiendo muy bien esta función y me lio un poco.

Alguien podría guiarme?
Gracias!!

Última edición por aniMAYtions; 10/03/2010 a las 04:22 Razón: avances
  #2 (permalink)  
Antiguo 10/03/2010, 04:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: como recargar un div desde sí mismo?

Hola:

Lo de pasar un video por url lo veo un poco surrealista... no estarás pasando la url del video

Vayamos por partes... cuando usas el tag "a" (siempre recomiendo evitarlo cuando solo se quiere activar un script... que se puede hacer desde cualquier otro tag, y la manita ponerla con estilos... además de la cuestión semántica de usar un enlace sin enlazar... y si quieres enlazar, no entiendo lo del onclick, que debe usarse a modo validar o confirmar...)

Dicho lo dicho, si enlazas, el resultado del evento no puedes despacharlo bien (ya sabes, saber si tuvo éxito)...

Bueno, intentando contestar (aunque no termino de comprender la pregunta), si usas un enlace, es obligado cancelarlo, para no enlazar, y los scripts ponerlos en el evento de enlace... pero si no enlazas basta con la segunda parte de esta misma respuesta.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 10/03/2010, 04:49
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 17 años
Puntos: 2
Respuesta: como recargar un div desde sí mismo?

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Lo de pasar un video por url lo veo un poco surrealista... no estarás pasando la url del video

Vayamos por partes... cuando usas el tag "a" (siempre recomiendo evitarlo cuando solo se quiere activar un script... que se puede hacer desde cualquier otro tag, y la manita ponerla con estilos... además de la cuestión semántica de usar un enlace sin enlazar... y si quieres enlazar, no entiendo lo del onclick, que debe usarse a modo validar o confirmar...)

Dicho lo dicho, si enlazas, el resultado del evento no puedes despacharlo bien (ya sabes, saber si tuvo éxito)...

Bueno, intentando contestar (aunque no termino de comprender la pregunta), si usas un enlace, es obligado cancelarlo, para no enlazar, y los scripts ponerlos en el evento de enlace... pero si no enlazas basta con la segunda parte de esta misma respuesta.
Si hombre, me refería a pasar por ulr la instruccion necesaria para cargar ese vídeo(o sea, la variable flv y el nombre del vídeo).
La etiqueta <a> la usaba por el tema de pasar las variables por url, al principio no tenía pensado hacerlo con ajax, sino php puro y duro. La cambiaré por un <span> si tú me lo recomiendas.
Veamos, en el Index.php es donde se reciben los parámetros que iaman a las funciones de funciones.php, y las carga.
El Index tiene que recibir siempre una accion, un vídeo y una cabecera(a no ser que lo que se pulse sea un submit).
En este caso me gustaría que eso cambiase, que el index solo recibiese el parámetro correspondiente al texto a cambiar, variable que intento recoger en la función que recarga el div.
Código Javascript:
Ver original
  1. var txtnuevo = document.getElementById('txtnuevo').innerHTML;
Lo que ocurre es que me he dado cuenta de que si la página no recarga no se va a cargar el nuevo vídeo ni la nueva cabecera. entonces también me gustaría que la función de actualizar recogiese esos 2 parámetros más y recargase los 2 divs correspondientes.
Esto he pensado que pueden ir como atributos en el tag que haga el onclick o en divs ocultos.

Etiquetas: ajax, recargar
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 16:03.