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

Link me carga en una página nueva

Estas en el tema de Link me carga en una página nueva en el foro de Frameworks JS en Foros del Web. Hola, tengo una página en la que muestro unas noticias en un DIV cargadas con AJAX, lo tengo de la siguiente manera: - La página ...
  #1 (permalink)  
Antiguo 26/04/2007, 05:51
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 18 años, 4 meses
Puntos: 5
Link me carga en una página nueva

Hola, tengo una página en la que muestro unas noticias en un DIV cargadas con AJAX, lo tengo de la siguiente manera:

- La página principal con un div llamado noticias, y una pagina que se llama noticias.php que hace todas las consultas a la base de datos y muestra los resultados.

Yo desde la principal cargo noticias.php en el div, todo perfecto, el problema es que quiero poner paginación de las noticias y lo que me pasa es que cuando clico en cualquier link de la página cargada con AJAX este link se me hace en una página nueva y carga noticias.php en una pagina entera y no en el DIV que que quiero. Espero haberme explicado.

¿como puedo hacer para que al hacer link la información se siga mostrando solo en el DIV?

Un saludo, Dani.
  #2 (permalink)  
Antiguo 30/04/2007, 08:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Link me carga en una página nueva

coloca el cod que utilizas y sera mas facil
  #3 (permalink)  
Antiguo 03/05/2007, 04:58
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 18 años, 4 meses
Puntos: 5
Re: Link me carga en una página nueva

Hola, ahora no estoy en casa y no puedo subir el código, pero el efecto que quiero conseguir es como el del buscador de la wikipedia:

http://es.wikipedia.org/w/index.php?...et=60&limit=20

Si le das a Previo o siguiente se puede ver el efecto... a ver si alguien me puede orientar en como conseguirlo.

Gracias!
  #4 (permalink)  
Antiguo 03/05/2007, 10:08
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 18 años, 7 meses
Puntos: 2
Re: Link me carga en una página nueva

Bueno, no parece que la página que hayas puesto de wikipedia utilice AJAX, pero creo que sé lo que quieres hacer. Intentaré ayudarte.

Supongamos que la pagina noticias.php hace uso de una variable $_GET['pagina'], supongamos que en la div noticias se carga la pagina 1 por defecto y que ya sabes cuantas paginas hay en noticias.php (porque si no ya se complica el codigo). En la página principal tendrías una cosa así:

...
<script>
var paginaActual= 1;
function creaAjax()
{
...
}
function cargaContenido(metodo, url, parametros, contenedor)
{
...
}
...
</script>
...
<div id="enlaces">
<a href="#" onclick="paginaActual--;cargaContenido('get', 'noticias.php', '?pagina='+paginaActual, 'noticias')">Previous</a>
<a href="#" onclick="paginaActual=1;cargaContenido('get', 'noticias.php', '?pagina='+paginaActual, 'noticias')">1</a>
<a href="#" onclick="paginaActual=2;cargaContenido('get', 'noticias.php', '?pagina='+paginaActual, 'noticias')">2</a>
<a href="#" onclick="paginaActual=3;cargaContenido('get', 'noticias.php', '?pagina='+paginaActual, 'noticias')">3</a>
<a href="#" onclick="paginaActual++;cargaContenido('get', 'noticias.php', '?pagina='+paginaActual, 'noticias')">Siguiente</a>
</div>

<div id="noticias">
...
</div>

Luego en la pagina noticias.php sólo tienes que usar la variable $_GET['paginas'] para decidir qué noticias vas a mostrar segun la pagina.

Esto sólo es un esbozo, luego tendrías que hacer una función (en PHP) para calcular cuantas páginas hay y colocar los enlaces, y otra función en javascript para que, si hay 3 páginas, no pueda elegir la página 4 o la 0 dándole a siguiente o a previo.

Última edición por Asyolath; 03/05/2007 a las 10:13
  #5 (permalink)  
Antiguo 04/05/2007, 05:26
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 18 años, 4 meses
Puntos: 5
Re: Link me carga en una página nueva

Mas o menos lo que me comentas es poner el paginador en la página principal e ir cargando las noticias en el contenedor, verdad?
Creo que es una buena opción, algo así es lo que estaba pensando, pero lo que me gustaría saber es si existe alguna marera de interactuar con la página que he cargado en el contenedor sin que esta se habrá en una ventana completa, si no que siga cargándose solo en el contenedor.
Había pensado en hacer llamadas AJAX dentro de la web que cargo en el contendedor para realizar sus cambios (no se si me explico) pero la verdad es que no se si funcionará, no lo he probado aún.
Saludos!
  #6 (permalink)  
Antiguo 04/05/2007, 08:48
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 18 años, 7 meses
Puntos: 2
Re: Link me carga en una página nueva

Bueno, pues entonces habría que colocar el <div id="enlaces"> en la página noticias.php y luego les das las funciones cargarContenido() desde la página principal:

noticias.php:
Código HTML:
<div id="enlaces">
<a href="noticias.php?pagina=<?php echo ($_GET['pagina']-1);?>">Previo</a>
<a href="noticias.php?pagina=1">1</a>
<a href="noticias.php?pagina=2">2</a>
<a href="noticias.php?pagina=3">3</a>
<a href="noticias.php?pagina=<?php echo ($_GET['pagina']+1);?>">Siguiente</a>
</div> 
página principal:
Código HTML:
<script>
var paginaActual= 1;
function creaAjax()
{
...
}
function cargaContenido(metodo, url, parametros, contenedor)
{
...
     if (ajax.readyState==4)
     {
          contenedor.innerHTML= axax.responseText.replace(/<a href="(pagina\.php)(\?pagina=\d+)">/gi, '<a href="#" onclick="cargaContenido(\'get\', \'$1\', \'$2\', \'noticias\');">')
     }
...
</script> 
No lo he probado y tampoco puedo asegurarte de que funcione, no sé usar regex en javascript (si he cometido algún fallo comentadmelo). Pero esa es la idea.
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.
Tema Cerrado




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