Foros del Web » Programando para Internet » Javascript »

Mandar variable a POP UP

Estas en el tema de Mandar variable a POP UP en el foro de Javascript en Foros del Web. Hola a todos. Tengo la siguiente duda tengo una imagen con un link con el cual se abre un POP UP, dicho POP UP tien ...
  #1 (permalink)  
Antiguo 16/11/2004, 16:19
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
Exclamación Mandar variable a POP UP

Hola a todos.

Tengo la siguiente duda tengo una imagen con un link con el cual se abre un POP UP, dicho POP UP tien dos FRAMES, lo que estoy tratando de realizar es que al dar click en la imagen me mande una variable a la los dos frames que estan el POP UP, pero pues no mas no me sale, les adjunto mi codigo para que me digan cual es mi error:

<script language="JavaScript">
function ventana(URL){
window.open(URL,"ventana","width=397, height=385, left=22,top=300, scrollbars=yes, menubar=no, location=no, resizable=no")
}
</script>

<script language="javascript">
function ParametrosPopUP(){

window.superior.location.href="EIPL_Detalle_Superi or.asp?Buscar=1"
return true;
}
</script>

<a href="javascript:ventana('EIPL_Detalle.asp')" onclick="ParametrosPopUP()">

Gracias por su ayuda.
__________________
Hasta la victoria Siempre.
  #2 (permalink)  
Antiguo 16/11/2004, 17:00
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, Cuezaltzin
Supongo que en ParametrosPopUP() pretendes definir la dirección de uno de los dos marcos que forman parte del popup, pero no estás haciendo referencia a éste.
Prueba así:
Código:
function ventana(URL){
var ventana = window.open(URL,"","width=397, height=385, left=22,top=300, scrollbars")
(lo que está en verde no es importante, es sólo una forma abreviada de lo que tenías)
y
Código:
function ParametrosPopUP(){
ventana.superior.location.href="EIPL_Detalle_Superior.asp?Buscar=1"
return true;
__________________
Angel :cool:
  #3 (permalink)  
Antiguo 16/11/2004, 17:33
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias por tu Ayuda AngSanchez.

Tengo mi codigo de la siguiente forma :

<script language="JavaScript">
function ventana(URL){
var ventana = window.open(URL,"","width=397, height=385, left=22,top=300, scrollbars=yes, menubar=no, location=no, resizable=no")
}
</script>

<script language="javascript">
function ParametrosPopUP(){
ventana.superior.location.href="EIPL_Detalle_Super ior.asp?Buscar=1"
return true;
}
</script>

<a href="javascript:ventana('EIPL_Detalle.asp')" onclick="ParametrosPopUP()">

Y me marca el siguiente ERROR :
ventana.superior.location es nulo o no es un objeto

No encuentro cual es el motivo del ERROR.
__________________
Hasta la victoria Siempre.
  #4 (permalink)  
Antiguo 17/11/2004, 11:07
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
Alguna sugerencia para Abrir POP UP el cual tien 2 frames y enviar una variable a los Frames.
__________________
Hasta la victoria Siempre.
  #5 (permalink)  
Antiguo 17/11/2004, 11:20
 
Fecha de Ingreso: mayo-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
Hola,

si lo usas así <a href="javascript:ventana('EIPL_Detalle.asp')" onclick="ParametrosPopUP()"> sucede que se ejecutan ambas funciones prácticamente a la vez. Le pides que carge una url en un marco en una página en el momento en el que esa página aún no ha sido cargada, por eso te dice que ventana no es un objeto (en el momento de ejecutarse la función aún no existe ese marco)

En tu lugar, llamaría a la función ParametrosPopUp desde la pop-up al cargarse.

la forma de llamar a esa función desde la pop-up sería opener.ParametrosPopUp()
  #6 (permalink)  
Antiguo 17/11/2004, 12:21
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
Intente hacer lo que me dijiste Gul Dukat pero sigo sin poder hacerlo, este es mi codigo:
/////Pagina la cual abre el POP UP
<html>
<head>

<script language="javascript">
function ParametrosPopUP(){

ventana.superior.location.href="Detalle_Superior.a sp?Buscar=1"
return true;
}
</script>

<script language="JavaScript">
function ventana(URL){
var ventana = window.open(URL,"ventana","width=397, height=385, left=22,top=300, scrollbars=yes, menubar=no, location=no, resizable=no")
}
</script>

</head>
<body>

<p align="center"><a href="javascript:ventana('Detalle.asp')"><img border="0" src="images/detalles.gif" width="9" height="8"></a></p>

</body>
</html>

/////La pagina Detalle .asp es la que contiene los dos FRAMES, Detalle_Superior.asp y Detalle_Inferior.asp

Y en la pagina de Detalle_Superior.asp puse el siguiente codigo:
<script language="javascript">
opener.ParametrosPopUp()
</script>

Y en esta es donde quiero que me imprima la variable Buscar pero pues nada mas no jala. Gracias por tu ayuda.
__________________
Hasta la victoria Siempre.

Última edición por Cuezaltzin; 17/11/2004 a las 12:22
  #7 (permalink)  
Antiguo 17/11/2004, 12:50
 
Fecha de Ingreso: mayo-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
ok, con 2 pasos lo arreglamos

primero, quita la sentencia var de delante de donde llamas al método open() en la función ventana(URL)

<script language="JavaScript">
function ventana(URL){
var ventana = window.open(URL,"ventana","width=397, height=385, left=22,top=300, scrollbars=yes, menubar=no, location=no, resizable=no")
}
</script>

Y segundo, en Detalle_Superior.asp añade parent a la sentencia

<script language="javascript">
parent.opener.ParametrosPopUp()
</script>

Prueba a ver si ahorate funciona
  #8 (permalink)  
Antiguo 17/11/2004, 17:27
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
No pues no se que pasa que no me sale, Aqui te pongo como quedo mi codigo.

<head>

<script language="JavaScript">
function ventana(URL){
ventana = window.open(URL,"venyana","width=397, height=385, left=22,top=300, scrollbars=yes, menubar=no, location=no, resizable=no")
}
</script>

<script language="javascript">
function ParametrosPopUP(){
ventana.superior.location.href="Detalle_Superior.a sp?Buscar=1"
return true;
}
</script>

</head>

<a href="javascript:ventana('EIPL_Detalle_Superior.as p')">

/////////POPUP

<script language="javascript">
parent.opener.ParametrosPopUP()
</script>

Me marca el ERROR : ventana.superior.location es nulo o no es un onjeto

Y lo que eh probado es cambia esa parte por esto location.href="Detalle_Superior.asp?Buscar=1" y lo que me hace es abrir la pagina Detalle_Superior.asp y el POPUP.

Gracias por tu Ayuda.
__________________
Hasta la victoria Siempre.
  #9 (permalink)  
Antiguo 18/11/2004, 14:25
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Cuezaltzin, ¿puedes poner el código de frameset de la página, completo?
Me he perdido, pero viendo tu mensaje de error creo que puede ser un problema de nombres de los marcos.
__________________
Angel :cool:
  #10 (permalink)  
Antiguo 18/11/2004, 15:08
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
OK Angsanchez por tu ayuda:

<frameset rows="160,*" framespacing="0" border="0" frameborder="0">
<frame name="superior" scrolling="no" noresize target="superior" src="Detalle_Superior.asp">
<frameset cols="235">
<frame name="inferior" target="principal" src="Detalle_Inferior.asp" scrolling="auto" noresize style="border-left-style: solid; border-left-width: 1px; border-right-width: 1px; border-top-style: solid; border-top-width: 1px; border-bottom-width: 1px">
</frameset>
<noframes>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">

<p>Esta página utiliza marcos, pero su explorador no las admite.</p>

</body>
</noframes>
</frameset>
__________________
Hasta la victoria Siempre.
  #11 (permalink)  
Antiguo 18/11/2004, 15:37
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, Cuezaltzin
He hecho unas páginas de prueba copiando tu código y no me aparece el error. Revisa la escritura por si hay alguna mayúscula o alguna letra que se ha ido.

Por otra parte, creo que en la etiqueta <FRAME> el parámtaro TARGET no debe estar.
__________________
Angel :cool:
  #12 (permalink)  
Antiguo 19/11/2004, 10:02
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
No pues ya di mucha lata con esto y nada mas no puedo hacerlo. Ya lo volvia a crear y asi es como ah quedado:

//////PAgina que manda abrir el POP UP

<head>

<script language="JavaScript">
function ventana(URL){
ventana = window.open(URL,"","width=397, height=385, left=22,top=300, scrollbars=yes, menubar=no, location=no, resizable=no")
}
</script>

<script language="javascript">
function ParametrosPopUP(){
ventana.superior.location.href="arriba.asp?Buscar= 1"
return true;
}
</script>

</head>

<body>

<p align="center"><a href="javascript:ventana('Frame.htm')" onclick="ParametrosPopUP()"><img border="0" src="../../detalles.gif" width="9" height="8"></p>

</body>

/////Pagina con los FRAMES

<frameset rows="*,*">
<frame name="superior" src="arriba.asp">
<frame name="inferior" src="abajo.asp">
<noframes>
<body>

<p>Esta página utiliza marcos, pero su explorador no las admite.</p>

</body>
</noframes>
</frameset>

/////FRAME arriba

<head>

<script language="javascript">
parent.opener.ParametrosPopUP()
</script>

</head>

<body>
<%
Buscar = request("Buscar")
response.write(Buscar)
%>

<p>Arriba : </p>

</body>

///////FRAME abajo

<head>
</head>

<body>

<p>Abajo : </p>

</body>

Y pues nada mas no logro mandar la variable.
__________________
Hasta la victoria Siempre.
  #13 (permalink)  
Antiguo 20/11/2004, 09:33
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola de nuevo, Cuezaltzin
Efectivamente, no funcionaba, pero creo que he dado con la soulución.
1) Como ya dijo Gul Dukat, no puedes llamar a la función ParametrosPopUP mientras no se haya creado la ventana popup. Por eso, quita la llamada de
Código HTML:
<a href="javascript:ventana('Frame.htm')" onclick="ParametrosPopUP()"> 
y deja sólo
Código HTML:
<a href="javascript:ventana('Frame.htm')"> 
2) Luego, si se pone la llamada en el marco superior, como estábamos haciendo, funciona pero se crea un bucle infinito, porque la función recarga la página del marco superior y en ella se vuelve a llamar a la función. Así que la solución es poner la llamada en el frameset, de modo que sólo se llame a la función una vez (lo mismo que hacías originalmente al llamarla desde el onClick de la página original) y ya no se recarga al aplicar los parámetros al marco superior.
Es decir:
Código HTML:
<frameset rows="*,*"  onLoad="opener.ParametrosPopUP()">
 <frame name="superior" src="arriba.asp">
<frame name="inferior" src="abajo.asp">
</frameset> 
Y quita
Código PHP:
opener.ParametrosPopUP() 
del FRAME arriba.

A mí me va bien, pero no uso ASP. Mira a ver si así te funciona para lo que quieres.

Suerte y ánimo
__________________
Angel :cool:
  #14 (permalink)  
Antiguo 23/11/2004, 10:19
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias de Nuevo angsanchez por toda tu ayuda.

Ya actualize mi codigo de acuerdo a el ultimo post, y me hace lo siguiente al dar click en el link para abrir el POP UP lo manda a llamar y lo abre y muestra la pagina en la cual esta los 2 frames y despues se redirecciona automaticamente y solo muestra la pagina de Abajo.asp y si me imprime la variable que le mando desde la imagen con el link.

El problema esta en que no me muestra los dos frames si no solamente uno no entiendo por que esta haciendo esto. GRACIAS
__________________
Hasta la victoria Siempre.
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 08:19.