Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Iframe pegado :(

Estas en el tema de Iframe pegado :( en el foro de Javascript en Foros del Web. hola compañeros , les cuento el problema, estoy subiendo un archivo al servidor por medio de un form con target hacia un iframe , nada ...
  #1 (permalink)  
Antiguo 19/03/2013, 11:57
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Iframe pegado :(

hola

compañeros , les cuento el problema,

estoy subiendo un archivo al servidor por medio de un form con target hacia un iframe , nada raro.

Lo que pinta en el iframe es una tabla html , que basicamente son los registros de mi archivo subido con sus respectivos titulos , en fin, al cargar otro archivo a un funciona bien hasta la parte de mostrar la tablita..

Pero......

Tengo un boton de guardar registros en la DB, al dar click le hago un alert al contenido que tiene el iframe y ohhhh sorpresa, me muestra el html de la tabla del archivo anterior, no me muestra la que esta pintada ..

No se me ocurre nada de por que pasa eso ..

El error mas que todo pasa al cargar desde el 3 4 archivo

Alguna ayudita jeje

Código HTML:
Ver original
  1. <form enctype="multipart/form-data" action="mipagina.php" method="post" target="resultados" >
  2.             <p><strong>Indique el archivo a cargar.</strong></p>
  3.             <p style="margin:5px;">El archivo a cargar debe ser un documento de Excel (.xls), archivo de texto plano (.txt) o archivo separado con comas (.csv)</p>
  4.  
  5.             <input type="file"   name="upload" />&nbsp;<!--<input type="submit" name="btnupload" value="Cargar" />  -->
  6.             <input type="submit" name="btnupload"  class="btn-estandar" value="Mostrar informacion" >
  7. </form>
  8. <iframe name="resultados" class="resultados" scrolling="auto" >

  #2 (permalink)  
Antiguo 19/03/2013, 12:05
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Iframe pegado :(

no entendi el problema , no te muestra los registros? no sube el archivo? no guarda la informacion? podrias colocar el codigo de "mipagina.php" y el codigo donde mandas el alert?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 19/03/2013, 12:11
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Iframe pegado :(

Pega tu codigo php con el cual estas formando la tabla por favor.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #4 (permalink)  
Antiguo 19/03/2013, 12:16
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Iframe pegado :(

hola

ok, el problema no es de insercion ni vista de los registros, en el boton guardar

ejecuto esto:

Código Javascript:
Ver original
  1. function Guardar()
  2. {
  3.   var campos = $(".tabla-info-archivo",self.resultados.document);
  4.  //  uso self.resultados.document para acceder al iframe que se llama resultados , lo que esto haciendo es muestre el html de la tabla que tiene la  clase tabla-info-archivo
  5. alert(campos );
  6. }

Eso me retorna algo asi:

Código HTML:
Ver original
  1.   <tr>
  2.     <td>Nombres</td>
  3.  </tr>
  4.   <tr>
  5.     <td>Pepe</td>
  6.  </tr>
  7.   <tr>
  8.     <td>Cristina</td>
  9.  </tr>

Pero cuando cargo otro archivo con otra informacion, me sigue mostrando el html de la tabla anterior , ya vuelvoooo :)
  #5 (permalink)  
Antiguo 19/03/2013, 12:27
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Iframe pegado :(

Se supone que cada que subes un nuevo archivo generas nueva informacion en tu ifram con php vdd ? como te comente arriba, pega tu codigo php para ver como lo estas haciendo, si el problema fuera de html, elimina la tabla manipulando el DOM y la creas con la nueva informacion.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #6 (permalink)  
Antiguo 19/03/2013, 12:27
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Iframe pegado :(

Cita:
Iniciado por informacionsys Ver Mensaje
hola

compañeros , les cuento el problema,

estoy subiendo un archivo al servidor por medio de un form con target hacia un iframe , nada raro.

Lo que pinta en el iframe es una tabla html , que basicamente son los registros de mi archivo subido con sus respectivos titulos , en fin, al cargar otro archivo a un funciona bien hasta la parte de mostrar la tablita..

Pero......

Tengo un boton de guardar registros en la DB, al dar click le hago un alert al contenido que tiene el iframe y ohhhh sorpresa, me muestra el html de la tabla del archivo anterior, no me muestra la que esta pintada ..

No se me ocurre nada de por que pasa eso ..

El error mas que todo pasa al cargar desde el 3 4 archivo

Alguna ayudita jeje

Código HTML:
Ver original
  1. <form enctype="multipart/form-data" action="mipagina.php" method="post" target="resultados" >
  2.             <p><strong>Indique el archivo a cargar.</strong></p>
  3.             <p style="margin:5px;">El archivo a cargar debe ser un documento de Excel (.xls), archivo de texto plano (.txt) o archivo separado con comas (.csv)</p>
  4.  
  5.             <input type="file"   name="upload" />&nbsp;<!--<input type="submit" name="btnupload" value="Cargar" />  -->
  6.             <input type="submit" name="btnupload"  class="btn-estandar" value="Mostrar informacion" >
  7. </form>
  8. <iframe name="resultados" class="resultados" scrolling="auto" >

Hay un problema de cache, busca la metatag correspondiente.
Saludos
  #7 (permalink)  
Antiguo 19/03/2013, 13:32
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Iframe pegado :(

bueno aqui va el archivo donde se envia el formulario

Código PHP:
Ver original
  1. require("class/archivos.class.php");
  2. $recordSet = $archivo->MatrizArchivo();
  3.  
  4. $tabla = "<table style='white-space:nowrap;border-collapse:collapse;' class='tabla-info-archivo'>";
  5. $conta = 0;
  6.      
  7.   foreach($recordSet as $data)
  8.   {
  9.     $clase = ($conta % 2 == 0) ? 'background:#edebe5;' :'';
  10.    
  11.     if($conta == 0)
  12.     { // pinto la cabecera
  13.        $tabla .= "<tr style='background:#CBB149;color:#fff;font-family:Calibri;box-shadow:1px 1px 2px #333;'>";
  14.        foreach($data as $key => $v)
  15.        {
  16.           $tabla .= "<td style='padding:0.5%;'>".$key."</td>";  
  17.        }  
  18.        $tabla .= "</tr>";
  19.     }
  20.  
  21.      $tabla .= "<tr style='font-size:0.9em;color:#333;font-family:Calibri;$clase'>";
  22.      foreach($data as $key => $v)
  23.      {
  24.         $tabla .= "<td align='left' style=\"mso-number-format:'@';\">".trim($data[$key])."</td>";  
  25.      }
  26.    $tabla .= "</tr>";
  27.     $conta++;
  28.   }
  29.  
  30. $tabla .= "</table>";
  31.  
  32. echo $tabla;

pienso que si tiene que ver con cache pues si refresco toda la pagina , funciona
  #8 (permalink)  
Antiguo 19/03/2013, 15:43
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Iframe pegado :(

Ok mira con los metatags indicando que no quieres cache te debe funcinonar, pero como no tengo todo tu codigo no se que cambios pueda tener el no usar cache, salvo el que cada que recargues se tarde en cargar todo de nuevo. A simple vista no le veo problema con php aun que no esta todo entendible como lo manejas, pero bueno espero que se te resuelva el problema con los metatags:

Código HTML:
Ver original
  1.     <meta http-Equiv="Cache-Control" Content="no-cache">
  2.     <meta http-Equiv="Pragma" Content="no-cache">
  3.     <meta http-Equiv="Expires" Content="0">
  4. </head>
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #9 (permalink)  
Antiguo 19/03/2013, 15:57
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Iframe pegado :(

hola

gracias, lo coloque en el index principal , pero nada, sigue el problema, seguire revisando todo el proceso, de pronto sea en el codigo donde se quede pegado algo o falte reiniciar, voy a intentar creando el iframe desde javascript cada vez que se suba un archivo ,

y si se refresca el iframe ?

intente con este codigo pero no funciono

document.getElementById(FrameID).contentDocument.l ocation.reload(true);

Me dice contentDocument no existe o undefined


gracias.
  #10 (permalink)  
Antiguo 19/03/2013, 16:25
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Iframe pegado :(

Mira, FrameID es una variable de tipo string que declaraste arriba ?, si no la declaraste y es el nombre del id lo tienes que poner en comillas:

Código Javascript:
Ver original
  1. // si FrameID no es una variable tiene que estar asi.
  2. document.getElementById("FrameID").contentDocument.location.reload(true);
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #11 (permalink)  
Antiguo 19/03/2013, 16:31
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Iframe pegado :(

si claro

coloque :

Código Javascript:
Ver original
  1. document.getElementsByName("resultados").contentDocument.location.reload(true);

pero nada, hice lo que te comente, siempre que envio el submit del form, con jquery remuevo el iframe actual y creo uno nuevo

pero noo funciona..... ya no se que mas hacer
  #12 (permalink)  
Antiguo 19/03/2013, 16:42
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Iframe pegado :(

Ps tienes de dos sopas, una es seguirle buscando y la otra compartir todo el codigo que estas usando para que la aplicacion trabaje, puedes pegar el codigo en: http://paste.behstant.com
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #13 (permalink)  
Antiguo 19/03/2013, 16:51
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Iframe pegado :(

hola

compañero

lo mas probable es que ya lo he solucionado.

cambie

la linea

Código Javascript:
Ver original
  1. var campos = $(".selectcamposcols",window.resultados.document);

por

Código Javascript:
Ver original
  1. var campos = $("[name=resultados]").contents().find(".selectcamposcols");

Recuerdo que esa linea es la que me obtiene los datos de la tabla html

ya he hecho varias pruebas y funciona, igual muchas graciasssssssssss
  #14 (permalink)  
Antiguo 19/03/2013, 17:14
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Iframe pegado :(

A pues que bueno, asi nos ahorramos unas lineas de analisis, dale solucionado al tema
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.

Etiquetas: html, iframe, php, registro, tabla
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:41.