Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Exclamation Pasar parametros, ¿Es posible?

Hola comunidad, mi caso es el siguiente, aunque voy en contra de los frames, y no me gustan para nada, esta vez fue una gran solución para mi problema, abro un pop-up donde hay 3 frames, uno topFrame, donde se carga el título, otro botFrame, donde se carga la firma, y el otro mainFrame, que es donde viene el problema, aquí he de cargar el contenido al que la persona quiere ir al cliquear en la página anterior(donde se abrió el pop-up), por ejemplo en la página principal, hay 2 enlaces, fotos de gatos, y fotos de perros, entonces, al hacer clic sobre gatos se abre el pop-up, en el mainFrame, se cargan las imágenes de gatos, si por el contrario se cliquea perros se abre en el mainFrame la página de imágenes de los perros.
Ahora mi pregunta es como puedo abrir la pagina del pop-up, y hacerla cargar la página deseada, talvez mandando parametros, ¿es posible?, ¿como?.
P.D.: Es indispensable mandar a una pagina que carge el mainFrame, ya que son más de 200 páginas las que en un momento determinado se cargarán en el mainFrame, y hacer una página de marcos por cada una no es una oferta muy tentadora.
Espero que me puedan ayudar, gracias de antemano
Responder Con Cita
  #2  
Antiguo 02-05-2006
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 19
reevil Va por buen camino
la verdad no entiendo muy bien el problema, tampoco entiendo el por que usar los frames en el pop up... yo pondria el titulo y el pie en cada pagina y ya no usaria frames, si no existe esa posibilidad de eso podrias utilizar un javascript con el objeto document y el metodo write () lo cual te permitiria crear dinamicamente el popup
Código:
function popup(url)
{
    .....
    ......
}
el url se lo pasas a la funcion directo desde link
ahi hay informacion al respecto
http://www.webestilo.com/javascript/js22.phtml

o buscando en google hay mucha mas
saludos
Responder Con Cita
  #3  
Antiguo 03-05-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

Como bien dice reevil:
Código PHP:
function popup(url)
{
    
miVentana window.open(...); // Abres el POPUP
    
miVentana.frames[0].location url;  // hay que cambiar el numero del frame.
    
...

__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #4  
Antiguo 03-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Gracias

Gracias a los 2 por responder lo voy a probar, gracias de nuevo
Responder Con Cita
  #5  
Antiguo 03-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Disculpen que los moleste de nuevo

he puesto esto:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
>
<
html>
<
head>
<
title>Untitled Document</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
script language=javascript>
function 
popup(url){
    
miVentana window.open("indes.htm","Ventana","width=400,height=600,scrollbars=NO"); // Abres el POPUP
    
miVentana.frames[0].location url;  // hay que cambiar el numero del frame.
}  
</script> 
</head>

<body>
<a href="javascript:popup('center2.htm')">ir</a> 
</body>
</html> 
Pero aunque me abre a la perfección el pop-up, no me abre bien el frame, es más no hace nada, alguna idea de por que, y disculpe mi innorancia
Responder Con Cita
  #6  
Antiguo 03-05-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

He hecho un par de pruebas y efectivamente no funciona, el problema es que la segunda sentencia se ejecuta cuando aún no se ha abierto la ventana.

Puedes probar este ejemplo:
Código PHP:
function popup(url){
    
miVentana window.open("b.html","Ventana","width=400,height=600,scrollbars=NO"); // Abres el POPUP
    
setTimeout"miVentana.frames[0].location = '"url +"'"500 );  // hay que cambiar el numero del frame.

__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente

Última edición por kayetano fecha: 03-05-2006 a las 17:16:24.
Responder Con Cita
  #7  
Antiguo 03-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Gracias por todo.

Esta vez si sirvió, muchas gracias.
Responder Con Cita
  #8  
Antiguo 04-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Otra opción que parece funcionar es asignar la url como propiedad del objeto window:

Código:
<script type="text/javascript">
function popup(url)
{
  miVentana = window.open(...);
  miVentana.mainUrl = url;
}
</script>
y leer dicha propiedad en el evento onload del frameset:

Código:
<frameset rows="60,*,60" onload="frames[1].location=mainUrl">
  <frame src='' name=''>
  <frame src='' name=''>
  <frame src='' name=''>
</frameset>
// Saludos
Responder Con Cita
  #9  
Antiguo 04-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Gracias a todos por las respuestas, la verdad es que me han ayudado mucho.

Cita:
y leer dicha propiedad en el evento onload del frameset:
Pregunto, y disculpa mi innorancia, si no me equivoco, puedo mandar, en lugar de una url un texto como "center2"

Código PHP:
miVentana.mainWord := "center2"
como hago para leer esta variable, y hacer condiciones, por ejemplo que si mainword = "center2" entonces vaya a center2.htm

gracias de antemano.
Responder Con Cita
  #10  
Antiguo 04-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lees la propiedad tal como te indiqué. Lo que pasa es que cuando haces

miVentana.mainUrl = url;

le estás agregando la propiedad mainUrl al objeto window miVentana. Por otra parte, el objeto window es el objeto por defecto en javascript, de manera que cuando haces:

frames[1].location=mainUrl;

en el evento onload, en realidad estás haciendo:

window.frames[1].location=window.mainUrl;

y así mismo, puedes agregar cualquier propiedad que desees al objeto. De hecho, en javascript puedes agregar propiedades y métodos sobre la marcha a cualquier objeto.

Si el tratamiento que quieres hacer es más complicado puedes delegar el evento onload a una función javascript:

onload='docLoad()';

Código:
function docLoad()
{
  switch (window.mainUrl)
  {
    // aquí las distintas opciones
  }
}
Sin embargo, a mi ya se me escapa el porque querrías ahora hacer un condicional aquí. Es precisamente lo que evitas al pasar la url como parámetro.

// Saludos
Responder Con Cita
  #11  
Antiguo 04-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
lo que quiero es sencillo, es como el las páginas download.php?id="loquesea"

por ejemplo y temiendome meterme en otro tema, que yo pueda hacer un vínculo:
ir.html?id="gatos"
ir.html?id="perros"
y en el primer caso me redireccione a la página de gatos, y en el segundo me mande a la página de perros.

la pregunta en concreto es como puedo hacer para leer la variable id del link, para luego en un script decidir hacia donde ir, y como puedo hacer ese if condicional, para saber hacia donde ir.

Gracias.
Responder Con Cita
  #12  
Antiguo 06-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Olviden la respuesta anterior, es una idea que he descartado, ahora mi problema es que si en lugar de usar un pop-up, quiero abrirlo en la misma página no me recibe la redirección, pensé que este código podria funcionar, pero no fué así:
Código PHP:
<script language=javascript>
function 
ir(url){
    
miVentana window
    
miVentana.location "indes.htm"
    
setTimeout"miVentana.frames[1].location = '"url +"'"500 );  
}  
</script> 
¿alguna idea?
Responder Con Cita
  #13  
Antiguo 06-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y si abres en la misma página, ¿para qué, digo yo, quieres hacerlo através de javascript? ¿Por qué no simplemente pones el enlace y ya?

// Saludos
Responder Con Cita
  #14  
Antiguo 06-05-2006
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Cita:
¿Por qué no simplemente pones el enlace y ya?
Si se puede fantástico, pero el enlace va desde una página sin frames, así que tiene que cargar la página de frames, y luego cargar la página a la que se quiere ir en el frame[1].
Responder Con Cita
  #15  
Antiguo 06-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cierto, olvidaba lo de los marcos. Al parecer el objeto window se regenera en cada cambio de url por lo que no es el mismo antes y después de navegar por el enlace.

Una posible solución:

Código:
function ir(url)
{
  window.location = 'pagina_de_marcos.html?' + url;
}
En el evento onload de la página de marcos:

Código:
function framesLoad()
{
  mainUrl = window.location.search.substring(1);
  window.frames[1].location = mainUrl;
}
location.search es la parte del url desde el signo ?

// Saludos
Responder Con Cita
  #16  
Antiguo 21-11-2007
jzegarra jzegarra is offline
Registrado
 
Registrado: nov 2007
Posts: 1
Poder: 0
jzegarra Va por buen camino
Solución

Como estas dentro de un frame, usas los obejtos de ese frame.

Para poder actualizar propiedades en este caso URL a otro frame lo que se debe de escribir es:

window.top.frames("Cuerpo").location = URL;

La propiedad top te lleva a un nivel superior del frame que estas ejecutanto el javascript, luego utilizar el frame que quieres cambiar.

Saludos

Junior
Responder Con Cita
  #17  
Antiguo 23-11-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

No se si te has dado cuenta pero este hilo es de hace un año y medio
Ya puestos, es mejor que utilice capas (div) en vez de marcos (frames).
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar parametros.... Coco_jac SQL 2 02-09-2006 04:28:16
Pasar de string a integer o viceversa. ¿Es posible? Kamikaze Varios 5 07-07-2005 15:44:57
Es posible usar Parametros en ModifySQL,InsertSQL,... del Dataset? Halfo Firebird e Interbase 1 07-08-2004 00:45:28
Pasar parametros a IBdataSet digital Firebird e Interbase 3 13-07-2004 08:39:11
como pasar parametros... hook SQL 13 11-05-2004 19:24:14


La franja horaria es GMT +2. Ahora son las 23:44:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi