Foros del Web » Programando para Internet » Javascript »

Paso de variables a un popup

Estas en el tema de Paso de variables a un popup en el foro de Javascript en Foros del Web. Holas!! He estado buscando un buen ejemplo de esto pero no lo encuentro. Necesito pasarle a una función que abre una ventana nueva unas variables ...
  #1 (permalink)  
Antiguo 24/10/2005, 08:19
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 20 años, 5 meses
Puntos: 0
Paso de variables a un popup

Holas!!

He estado buscando un buen ejemplo de esto pero no lo encuentro.

Necesito pasarle a una función que abre una ventana nueva unas variables mediante javascript para que en esa nueva ventana cargar una página y utilizar las variables enviadas.

Alguien tiene algún código de ejmplo?

Saludos!!
  #2 (permalink)  
Antiguo 24/10/2005, 09:10
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Animanganime

Abre la ventana de esta forma:
Código:
window.open('tupagina.html?var1=algo&var2=pepe');
y en tupagina.html utiliza este código:
Código PHP:
loc location.search.split('&');
v1 loc[0].split('=')[1];
v2 loc[1].split('=')[1]; 
Saludos,
  #3 (permalink)  
Antiguo 25/10/2005, 10:37
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 20 años, 5 meses
Puntos: 0
Quizá no me expliqué bien en la pregunta, entiendo ese código pero me explico con lo que tengo a ver si queda más claro:

Yo estoy mezclando Javascript con PHP así que tengo en la página desde la que voy a enviar las variables lo siguiente entre las etiquetas <head> y </head>:

Código:
  <script language="JavaScript"> 
   function abrirVentana() { 
    open("noticia_extendida.php","Noticia", "toolbar=no,directories=no,menubar=no,scrollbars=yes,status=no,width=500,height=500"); 
   } 
  </script>
Y en el <body></body> tengo lo siguiente:

Código PHP:
<a href="javascript:abrirVentana()">Ver Completo</a
El tema es que yo tengo una variable con el título que quiero que me aparezca en la nueva ventana así que debería mandarla a la función y al lado las otras variables con los contenidos.

Probé a poner esto:

Código PHP:
<a href="javascript:abrirVentana(titulo, var1, var2)">Ver Completo</a
Por ejemplo y recogerlas arriba igual pero me daba error, no se si por no usar dolar, si las he mandado mal o como.

Saludos!!
  #4 (permalink)  
Antiguo 25/10/2005, 10:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Animanganime y JavieB:

Tendrías que modificar la función abrirVentana()...

<script language="JavaScript">
function abrirVentana(titulo, var1, var2) {
open("noticia_extendida.php?titulo" + titulo + "&var1=" + var1 + "&var2=" + var2, "Noticia", "toolbar=no,directories=no,menubar=no,scrollbars=y es,status=no,width=500,height=500");
}
</script>

Luego se recibe más o menos como dice JavierB:

var recibido = location.search.substr(1).split("&");
for (var i = 0. total = recibido.length; i < total; i ++)
window[recibido[i].split("=")[0]] = recibido[i].split("=")[1];

con eso consigues 3 variables globales: titulo, var1 y var2... para dar el título a la ventana te faltaría: window.title = titulo (no estoy seguro si es atributo de window o de document)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 25/10/2005, 11:13
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 20 años, 5 meses
Puntos: 0
Al hacer esto me da error:

Código PHP:
<a href="javascript:abrirVentana(titulo, var1, var2)">Ver Completo</a
Esos nombres de variables son a modo de ejemplo pero la función no las coge, he de comentar que esas variables son PHP y las pretendo mandar a una función Javascript, se que se puede pq lo vi en algún sitio.

Precisamente esa de titulo es para ponerle el titulo a la ventana nueva, sabes que cuando haces un open, el segundo parámetro, después de la página que quieres cargar, es el título de la ventana pues quiero que sea una variable para que cambie en función del titular que yo le mande a la función.

Saludos!!
  #6 (permalink)  
Antiguo 25/10/2005, 17:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Todavía no me aclaro muy bien, pero si titulo es una variable php (y las demás variables...), tendrías que entregarlas a la página tal como se hace con php:

<a href="javascript:abrirVentana(<?php echo "'$titulo', '$var1', '$var2'"; ?>)">Ver Completo</a>

Lo puse a ojo, pero es más o menos así como se pasan las variables php a javascript.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 27/10/2005, 16:03
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 20 años, 5 meses
Puntos: 0
Menudo lío estamos armando xDD

Cuando tu abres una ventaja con javascript tienes posibilidad de darle opciones, el nombre de la ventana, tamaño, barras, todas esas cosas.

Bien, el nombre de la ventana aparece, obviamente, en la barra de título, algo así

open("pagina.htm", "titulo_ventana", resto de opciones.....)

Yo quiero que titulo_ventana cambie y se ponga el titular que yo le envie a la función mediante variable, el problema es que mando variables php a una función javascript, se que se pueden meter valores de una variable php a una función javascript y que esta la maneje pero no me sale el tema.

Voy a probar eso que me comentas a ver.

Saludos!!
  #8 (permalink)  
Antiguo 27/10/2005, 17:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por Animanganime
...

Bien, el nombre de la ventana aparece, obviamente, en la barra de título...
Hola en la barra del titulo lo que sale es el contenido de la etiqueta title del head de la página... y puedes cambiarlo con window.title (no estoy seguro... y podría ser document.title)

Para cambiarlo desde la página que lo abrió deberías usar un script sencillo: ventana.title = "titulo_ventana";

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 30/10/2005, 16:46
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 20 años, 5 meses
Puntos: 0
Bueno, ya he solucionado el envío y todo eso pero ahora me pasa algo rarísimo, sólo me funcionan los registros con ID impar, es decir, uno de cada dos, funciona bien con unos pero falla con los otros.

No entiendo el motivo de esto, y me parece sin sentido, alguien tiene idea de a qué puede deberse?

EDITO, he estado haciendo pruebas y me he dado cuenta de algo:

Código:
open("noticia_extendida.php?titulo="+ tit +"&noticia_completa="+ not +"", "Noticia", "toolbar=no,directories=no,menubar=no,scrollbars=yes,status=no,width=500,height=500");
Estoy poniendo mal alguna comilla pq el problema se centra en el envío de la segunda variable. En cambio si sólo utilizo una variable en la dirección si funciona, no entiendo nada.

Saludos!!

Última edición por Animanganime; 30/10/2005 a las 22:28
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 07:37.