Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Imprimir resultado al subir archivo... desde el iframe

Estas en el tema de Imprimir resultado al subir archivo... desde el iframe en el foro de Frameworks JS en Foros del Web. Al enviar el formulario al iframe sustituyo el input file por el mismo pero disable y una imagen de cargando.... lo que necesito es que ...
  #1 (permalink)  
Antiguo 21/02/2010, 14:04
DyDPersonal
Invitado
 
Mensajes: n/a
Puntos:
Imprimir resultado al subir archivo... desde el iframe

Al enviar el formulario al iframe sustituyo el input file por el mismo pero disable y una imagen de cargando.... lo que necesito es que cuando la imagen aya sido cargada al servidor me vuelva a mostrar el input type file normal y sin la imagen de cargando... y a su ves que me refresque un div en el que muestro las imagenes subidas... pero el problema que tengo esque cuando subo las imagenes intento inprimir codigo javascript para cambiar el contenido de un div y no me lo ejecuta nose porque... si algien tiene alguna idea seria de agradecer su opinion!! muchas gracias! aqui os dejo el codigo de ejemplo!...

Funcion de enviar
Código PHP:
function uploadFile()
{   
uploaderId "img";
    
document.getElementById('formfile').submit();
    
document.getElementById(uploaderId).innerHTML "<input name='file' type='file' value='' disabled /><input type='button' value='Enviar' onClick='uploadFile('img')' disabled /><img src='cargando.gif'>";

Formulario de envio en el cual se encuentra el div "img" al que quiero sustituir que en la funcion de envio se sustituye! pero no logro sustituirlo al finalizar la carga del archivo...
Código PHP:
</script>
<form id="formfile" method="post" enctype="multipart/form-data" action="imageupload.php" target="iframe1">
            <input type="hidden" name="id" value="1" />
            <div id="img" style="font-family:verdana;font-size:10;">
                <input type="hidden" name="id_img" value="<?php echo $id_img?>" />
                <input name="file" type="file" value="" />
                <input type="button" value="Enviar" onClick="uploadFile('img')"/>
            </div>
            <iframe name="iframe1" style="display:none"></iframe>
        </form>
Carga de archivo al servidor! funciona correctamente execto a la ora de sustituir el contenido del div o mostrar el alert...
Código PHP:
<?php
    session_start
();
    
// Copia el archivo temporal al archivo en el server
    // en $dir se especifica directorio de escritura.
    
$dir 'archs/';
    if (isset(
$_POST['id']))    
    {    
$ext strrchr($_FILES['file']['name'],'.');
        
$name_remoto $_POST['id'].'-'.$_POST['id_img'].$ext;
        if(
move_uploaded_file($_FILES['file']['tmp_name'], $dir.$name_remoto))
        {    
$_SESSION['num_img'] = $_POST['id_img'];
            
?>
                <script languaje='text/javascript'>
                    document.getElementById('img').innerHTML = "<input name='file' type='file' value='' /><input type='button' value='Enviar' onClick='uploadFile('img')' />";
                    alert('archivo subido');
                </script>
            <?php
        
}
        else
        {
?>
            <script languaje='text/javascript'>
                document.getElementById('img').innerHTML = "Error al subir el archivos";
                alert('error al subir el archivo');
            </script>";
         <?php
        
}
    }
?>
Espero buestra opinion y muchas gracias de antemano!!
  #2 (permalink)  
Antiguo 21/02/2010, 15:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Imprimir resultado al subir archivo... desde el iframe

Hola:

No entiendo porqué no usas un botón submit... o mejor aún, hacer el submit al cambiar el valor del input file...

Otra cosa que veo es que creas y eliminas elementos que sencillamente pueden mostrarse/ocultarse

Un artículo que tal vez te ayude: Revisar las imágenes antes de subirlas (parece que tu idea es subir imágenes...) y en el mismo artículo hay un formulario de ejemplo que es un fichero html... si lo cambias por php puedes ver el ejemplo con un gif animado mientras se carga la imagen...

Como respuesta, el iframe no tiene nada como para que funcione un script con document.getElementById; la ventana padre se reconoce como parent... y debe ser contenido html... por ejemplo:
<html><body onload="parent.recibir()" ></body></html>

En resumen, el planteamiento es: cuando subes el fichero (ya sea con un botón o con el evento change) muestras algo que estaba oculto como un gif animado o un mensaje "cargando...", a la vez ocultas el file; y cuando se cargue el iframe das la orden de normalizar la página principal desde el propio iframe.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/02/2010, 18:23
DyDPersonal
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir resultado al subir archivo... desde el iframe

Utilizo un boton submit para evitar que se envie una imagen erronea...

no pretendo ocultar el input file solo ponerlo disable cosa que ago podria ponerlo darle el valor de disable desde javascript pero queria probar el innerHTML...

Gracias por esplicarme lo de parent desconosia eso... muchas gracias e solucionado el problema de activar el input despues de cargar la imagen pero aora intento recargar un div para la actualizacion de los imagenes subidas pero nose acerlo... si tienes alguna ligera idea te agradeceria tu opinion!

Como puedo recargar un div sin necesidad de recargar la web completa????

De todos modos muchas gracias por todo!
  #4 (permalink)  
Antiguo 21/02/2010, 23:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Imprimir resultado al subir archivo... desde el iframe

Hola:

Puedes crear objetos imagen y añadirlos...

nueva = document.createElement("img");
nueva.src = "imagen.php?id=" + id;
document.getElementById("contenedor").appendChild( nueva);

Saludos

Por cierto... aquí un ejemplo: Recortes de imágenes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 21/02/2010 a las 23:58 Razón: añadir datos
  #5 (permalink)  
Antiguo 22/02/2010, 09:28
DyDPersonal
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir resultado al subir archivo... desde el iframe

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Puedes crear objetos imagen y añadirlos...

nueva = document.createElement("img");
nueva.src = "imagen.php?id=" + id;
document.getElementById("contenedor").appendChild( nueva);

Saludos

Por cierto... aquí un ejemplo: [URL="http://www.pepemolina.com/mapas/recortes.html"]Recortes de imágenes[/URL]
Muchas gracias!!! va de escandalo!! pero aora tengo un problemiya y esque antes utilizaba
Código PHP:
window.location.reload(true); 
para refrescar la web despues del envio de un archivo y poder enviar otro... pero al utilizar los parametros que me as facilitado e quitado el reload para evitar la recarga de la web pero aora solo me permite enviar un archivo... cambia el estado del input y se vuelve a poner normal pero no me envia el formulario a partir del 1 envio... a que se puede dever?? ay alguna manera de refrescar solo un div o como puedo solucionarlo??

Por sierto gracias por el aporte!!
  #6 (permalink)  
Antiguo 22/02/2010, 09:46
DyDPersonal
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir resultado al subir archivo... desde el iframe

Ola!! e encotrado esto!!

[URL="http://www.miguelmanchego.com/2009/actualizar-un-elemento-sin-recargar-con-jquery/"]Recargar DIV[/URL]

pero me preguntaba si hay alguna manera de acer lo mismo pero sin cargar una libreria jquery.... nose capas que no es posible solo me lo pregunto!
  #7 (permalink)  
Antiguo 24/02/2010, 11:56
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Imprimir resultado al subir archivo... desde el iframe

Cita:
Iniciado por DyDPersonal Ver Mensaje
Ola!! e encotrado esto!!

[URL="http://www.miguelmanchego.com/2009/actualizar-un-elemento-sin-recargar-con-jquery/"]Recargar DIV[/URL]

pero me preguntaba si hay alguna manera de acer lo mismo pero sin cargar una libreria jquery.... nose capas que no es posible solo me lo pregunto!
Si te fijas, el div no es el q se recarga, sino el archivo PHP. Básicamente es lo mismo, llamar al método q estés usando en ajax para javascript puro y recargar el archivo.
EJ:
ajax.open("METODO","file a recargar")

Etiquetas: ajax, iframe, innerhtml, php, subida
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 23:00.