Foros del Web » Creando para Internet » Diseño web »

redireccionar desde un iframe al parent

Estas en el tema de redireccionar desde un iframe al parent en el foro de Diseño web en Foros del Web. Buenas people, miren me tope con un sistema el cual debo modificar y pues ya esta hecho con iframes :/ la cosa es que en ...
  #1 (permalink)  
Antiguo 10/11/2008, 01:40
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
redireccionar desde un iframe al parent

Buenas people, miren me tope con un sistema el cual debo modificar y pues ya esta hecho con iframes :/
la cosa es que en la pagina padre este tiene un select o combobox y al seleccionar una opcion me envia al iframe, en donde puedo eliminar, actualizar, activar, deactivar el dato, ahora bien cuando por ejemplo activo elimino etc... me realiza el cambio pero en el iframe y no se ve reflejado en el select o combo al menos que recarge la pagina, hay alguna manera de hacer un meta refresh al parent o algo asi sin tener que quitar el iframe, :/ digo de lo contrario tendre que rehacer mucho codigo saludos....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 10/11/2008, 09:53
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: redireccionar desde un iframe al parent

Mira, para hacer lo que pides podrías construir una función javascript que actulice el select, más o menos de este modo (suponiendo que estás trabajando con PHP).

Código PHP:
<?php
   $cnt 
"<select>";
   
$sql "SELECT ...";
   
$rst mysql_query($sql);
   while (
$aso mysql_fetch_assoc($rst)) { 
           
$campo $aso["campo"];
           
$cnt .= "<option value=\"$campo\">$campo</option>";
   }
   
$cnt .= "</select>";
   echo 
"<script language="JavaScript">";
   echo 
"cDiv = window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
   echo 
"</script>";
?>
Se supone que idDiv es el ID del DIV en el que está contenido el select y solo el select. Bueno, esta función hace que cada vez que se recargue el Iframe se ejecute esta función que mediante una consulta obtiene todos los valores que deben ir en el select, ese select con estos valores se reemplazan en el DIV que contiene al select, acuerdate que en este DIV solo debe estar contenida el select. Espero que te sirva.
  #3 (permalink)  
Antiguo 10/11/2008, 13:21
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: redireccionar desde un iframe al parent

gracias por la respuesta pero la verdad puse tu código reemplace alguna que otra variable pero no me muestra nada :/

mira te muestro mi código a como lo tengo mejor...

Código php:
Ver original
  1. <form name="admgps" action="gps_apikeyadm2.php" method="POST" target="gps" style="margin:0;padding:0;">
  2. <select name="dominio" style="width: 350px; "  onchange="document.admgps.submit();">
  3. <option value="">Seleccione Un Dominio</option>
  4. <?php
  5. include ("conecct.php"); //conectamos a DB
  6.  
  7. $sql = mysql_query ("SELECT * FROM api_google"
  8.                   ." ORDER BY dominio ASC") or die (mysql_error());
  9. while ($MostrarFila = mysql_fetch_array($sql))
  10. {
  11. if (strlen("$MostrarFila[dominio]") > 50)
  12. {
  13. $link_en = substr("$MostrarFila[dominio]", 0, 47)."...";
  14. echo "<option value=\"$MostrarFila[id]\" title=\"$MostrarFila[dominio]\">$link_en</option>";
  15. }
  16. else
  17. {
  18. $link_en =  substr("$MostrarFila[dominio]", 0, 50);
  19. echo "<option value=\"$MostrarFila[id]\" title=\"$MostrarFila[dominio]\">$link_en</option>";
  20. }
  21. }                                                                              
  22. ?>
  23. </select>
  24. </form>
  25. <br>
  26. <iframe name="gps" scrolling="no" width="100%" height="150" src="gps_apikeyadm2.php" frameborder="0" AllowTransparency>
  27. </iframe>

espero me puedan ayudar :)
puedo hacerlo con ajax pero tendria que cambiar muchas cosas que están dentro del iframe :/
bueno espero haya algo asi como me comenta ElJavista solo usando alguna función JS ...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 10/11/2008, 16:03
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: redireccionar desde un iframe al parent

OK, mira ese es el código con el que se imprime el select, bien, pero claramente te dije que el select tenía que estar contenido dentro de un DIV cuyo id sea "idDiv". Haz eso y si no te resulta envíame también el código que te he dado y que has modificado.
  #5 (permalink)  
Antiguo 10/11/2008, 18:16
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: redireccionar desde un iframe al parent

no hay caso man pongo el div por todas partes y no me muestra el select :/

lo pongo como lo deje la ultima vez

Código php:
Ver original
  1. <?php
  2.    $cnt = "<div id=\"idDiv\" style=\"margin:0;padding:0;\"><select  name=\"dominio\" style=\"width: 350px;\"  onchange=\"document.admgps.submit();\">";
  3.    $sql = mysql_query("SELECT * FROM api_google ORDER BY dominio ASC");
  4.    while ($aso = mysql_fetch_array($sql))
  5.    {
  6.    $cnt = "<option value=\"$aso[id]\">$aso[dominio]</option>";
  7.    }
  8.    $cnt = "</select></div>";
  9.    echo "<script language=\"JavaScript\">";
  10.    echo "cDiv = window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
  11.    echo "</script>";
  12. ?>

saludos...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 10/11/2008, 18:30
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: redireccionar desde un iframe al parent

Ok, mira, en primer lugar el dichoso DIV cuyo id es "idDiv" no debe estar en el iframe, en ese código, sino en parent, o sea, donde imprimes el select que deseas modificar (o yo me explico muy mal o tú me entiendes peor). Además he visto un error en el código que te di, a parte de modificaciones que deberían hacerse, aunque no son absolutamente necesarias, como ponele comillas al array con que el se obtiene los valores de los campos. Quedaría así:

Código php:
Ver original
  1. <?php
  2.    $cnt = "<select  name=\"dominio\" style=\"width: 350px;\"  onchange=\"document.admgps.submit();\">";
  3.    $sql = mysql_query("SELECT * FROM api_google ORDER BY dominio ASC");
  4.    while ($aso = mysql_fetch_array($sql))
  5.    {
  6.    $cnt = "<option value=\"" . $aso['id'] . "\">" . $aso['dominio'] . "</option>";
  7.    }
  8.    $cnt = "</select>";
  9.    echo "<script language=\"JavaScript\">";
  10.    echo "window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
  11.    echo "</script>";
  12. ?>


Espero que ahora si me hayas entendido bien y que resulte.
  #7 (permalink)  
Antiguo 10/11/2008, 18:43
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: redireccionar desde un iframe al parent

mmmmmmm mira si te entiendo pero no me resulta el reload digo, en el iframe hago y desago y no me muestra los cambios en el select que esta en el parent.....

te dejo mi codigo nuevamente :P.....

Código php:
Ver original
  1. <form name="admgps" action="gps_apikeyadm2.php" method="POST" target="gps" style="margin:0;padding:0;">
  2. <?php
  3. $cnt = "<select  name=\"dominio\" style=\"width: 350px;\" onchange=\"document.admgps.submit();\">";
  4.    $sql = mysql_query("SELECT * FROM api_google ORDER BY dominio ASC");
  5.    while ($aso = mysql_fetch_array($sql))
  6.    {
  7.    $cnt = "<option value=\"$aso[id]\">$aso[dominio]</option>";
  8.    }
  9.    $cnt = "</select>";
  10.    echo "<script language=\"JavaScript\">";
  11.    echo "window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
  12.    echo "</script>";
  13. ?><div id="idDiv" style="margin:0;padding:0;">
  14. <select name="dominio" style="width: 350px; "  onchange="document.admgps.submit();">
  15. <option value="">Seleccione Un Dominio</option>
  16. <?php
  17. $roc = mysql_query ("SELECT * FROM api_google"
  18.                   ." ORDER BY dominio ASC") or die (mysql_error());
  19. while ($MostrarFila = mysql_fetch_array($roc))
  20. {
  21. if (strlen("$MostrarFila[dominio]") > 50)
  22. {
  23. $link_en = substr("$MostrarFila[dominio]", 0, 47)."...";
  24. echo "<option value=\"$MostrarFila[id]\" title=\"$MostrarFila[dominio]\">$link_en</option>";
  25. }
  26. else
  27. {
  28. $link_en =  substr("$MostrarFila[dominio]", 0, 50);
  29. echo "<option value=\"$MostrarFila[id]\" title=\"$MostrarFila[dominio]\">$link_en</option>";
  30. }
  31. }                                                                              
  32. ?>
  33. </select>
  34. </div>
  35. </form>
  36. <br>
  37. <iframe name="gps" scrolling="no" width="100%" height="150" src="gps_apikeyadm2.php" frameborder="0" AllowTransparency>
  38. </iframe>

en la pagina dentro del iframe no he tocado nada solo he trabajado en la pagina del parent...

saludos y gracias por tu tiempo :P
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #8 (permalink)  
Antiguo 11/11/2008, 09:29
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: redireccionar desde un iframe al parent

Seguimos sin entendernos. Bien, el código que hace que se modifique el select debe estar precisamente en el iframe, que es a donde se envía el formulario que está en el parent. Insisto también en que coloques las comillas en el array que contiene los campos.

Este código va en el iframe, al final del archivo.
Código PHP:
<?php
$cnt 
"<select  name=\"dominio\" style=\"width: 350px;\" onchange=\"document.admgps.submit();\">";
   
$sql mysql_query("SELECT * FROM api_google ORDER BY dominio ASC");
   while (
$aso mysql_fetch_array($sql)) 
   { 
   
$cnt "<option value=\"" $aso['id'] . "\">" $aso['dominio'] . "</option>";
   }
   
$cnt "</select>";
   echo 
"<script language=\"JavaScript\">";
   echo 
"window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
   echo 
"</script>";
?>
Ahora en el parent debe estar el mismo código de siempre solo que el select debe estar dentro de un DIV cuyo id es 'idDiv', nada más.
Código PHP:
<form name="admgps" action="gps_apikeyadm2.php" method="POST" target="gps" style="margin:0;padding:0;">
<div id="idDiv" style="margin:0;padding:0;">
<select name="dominio" style="width: 350px; "  onchange="document.admgps.submit();">
<option value="">Seleccione Un Dominio</option>
<?php
$roc 
mysql_query ("SELECT * FROM api_google"
                  
." ORDER BY dominio ASC") or die (mysql_error());
while (
$MostrarFila mysql_fetch_array($roc))
{
if (
strlen($MostrarFila['dominio']) > 50)
{
$link_en substr($MostrarFila['dominio'], 047)."...";
echo 
"<option value=\"" $MostrarFila['id'] . "\" title=\"" $MostrarFila['dominio'] . "\">$link_en</option>";
}
else
{
$link_en =  substr($MostrarFila['dominio'], 050);
echo 
"<option value=\"" $MostrarFila['id'] . "\" title=\"" $MostrarFila['dominio'] . "\">$link_en</option>";
}
}                                                                              
?>
</select>
</div>
</form>
Ahora si espero que nos entendamos y que consigas hacer lo que quieres.
  #9 (permalink)  
Antiguo 12/11/2008, 17:47
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: redireccionar desde un iframe al parent

claro era lo que habia hecho de un comienzo pero como le comente cuando elijo con el select que esta en el parent y hago algo en el iframe se supone que el codigo script me debe sustituir el select por el otro cierto, pero no lo hace me desaparece el select del parent y no me muestra nada, o sea.-

1.- si hace lo que quiero que es refrescar pero
2.- al refrescar no me muestra el select :/ y ya trate poniendo y quitando comillas

espero me puedas ayudar a solucionar esto que por lo que veo solo es problema del script :/ creo yo....

saludos y gracias
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #10 (permalink)  
Antiguo 12/11/2008, 18:07
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: redireccionar desde un iframe al parent

agrego lo solucione me quedo dando vuelta eso que me dijo de las comillas y emepce solo poniendo los select vacios y iba y ya di con la solucion muchas gracias por su tiempo :) aqui el codigo :)


Código PHP:
<?php
   $cnt 
"<font face='Verdana' size='2' color='#00C7FD'>: <select  name='dominio' style='width: 350px;' onchange='document.admgps.submit();'>";
   
$cnt .= "<option value'' selected>Selecione un Dominio</option>";
   
$sql mysql_query("SELECT * FROM api_google ORDER BY dominio ASC");
   while (
$aso mysql_fetch_array($sql)) 
   { 
   
$cnt .= "<option value=$aso[id]>$aso[dominio]</option>";
   }
   
$cnt .= "</select></font>";
   echo 
"<script language=\"JavaScript\">";
   echo 
"window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
   echo 
"</script>";
?>
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #11 (permalink)  
Antiguo 13/11/2008, 09:13
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: redireccionar desde un iframe al parent

Aunque te haya resultado todavía hay cosas que están mal, no usas comillas donde te dije ni para encerrar el valor de la propiedad value, el código debería estar así:

Código PHP:
<?php
   $cnt 
"<select  name='dominio' style='width: 350px;' onchange='document.admgps.submit();'>";
   
$cnt .= "<option value='' selected='selected'>Selecione un Dominio</option>";
   
$sql mysql_query("SELECT * FROM api_google ORDER BY dominio ASC");
   while (
$aso mysql_fetch_array($sql)) 
   { 
   
$cnt .= "<option value=\"" $aso['id'] . "\">".$aso['dominio'] . "</option>";
   }
   
$cnt .= "</select>";
   echo 
"<script language=\"JavaScript\">";
   echo 
"window.parent.window.document.getElementById('idDiv').innerHTML = \"$cnt\";";
   echo 
"</script>";
?>
Tampoco entiendo para que pusisten un font que encierra al select pero si lo necesitas por algún motivo vuelve a ponerlo, no olvides las comillas, aunque te resulte, obviarlas te puede traer problemas.
  #12 (permalink)  
Antiguo 13/11/2008, 12:41
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: redireccionar desde un iframe al parent

si si, sorry copie el codigo anterior
el font si lo ocupo, para que cuadre con el antiguo select bueno saludos y gracias una vez más :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 18:37.