Foros del Web » Programando para Internet » Javascript »

Tomar información de campos "File" en js

Estas en el tema de Tomar información de campos "File" en js en el foro de Javascript en Foros del Web. Buenas, tengo un campod e tipo "File" así: <form name="frmimage" id="frmimage" method="post" onsubmit="return hola(1) " enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nombre: <input type="text" id="nombre" name="nombre" /><br ...
  #1 (permalink)  
Antiguo 06/07/2010, 16:02
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 5 meses
Puntos: 0
Tomar información de campos "File" en js

Buenas, tengo un campod e tipo "File" así:

<form name="frmimage" id="frmimage" method="post" onsubmit="return hola(1)" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
Nombre: <input type="text" id="nombre" name="nombre" /><br />
Imagen: <input type="file" id="foto" name="foto" /><br />
<input type="submit" name="enviar" id="enviar" value="Guardar" />
</form>

La función hola(..) es:

function hola(h)
{
if (h == 1)
{
alert("siiii");

ajax = objetoAjax();
ajax.open("POST", "blob.php",true);

ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
document.getElementById("hola").innerHTML = ajax.responseText;
}
}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("i=2");

}
else
{
alert("nooo");
return false;
}

}


Lo que intento hacer es que si es 1:
Primero, me guarde los archivos en la BD (ESTA PARTE LA HACE PERFECTO) y,

Segundo, me envíe los datos como muestro en la parte de ajax.send("i=2"); a la página php. ESTA PARTE NO ME FUNCIONA, cuando muestro el valor de i no me muestra nada, es decir, que no está mandando los datos a la página php

Alguien tiene idea como soluciono esto??

Gracias
  #2 (permalink)  
Antiguo 06/07/2010, 20:03
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Tomar información de campos "File" en js

primero: no puedes hacer upload por medio de AJAX, javascript no tiene acceso al IO

segundo: como obviamente no has impedido el submit del formulario (en el bloque h==1 no hay return false;), este se envía normalmente, por lo que el archivo si llega la servidor, pero al redireccionar la página, el interprete javascript ya ha ejecutado el request ajax y posiblemente ya obtuvo la respuesta antes de que el archivo fuese enviado, por lo tanto no obtiene la información.

solución: usar un iframe como target del form y volcar el javascript como salida para obtener el dato
  #3 (permalink)  
Antiguo 06/07/2010, 20:28
 
Fecha de Ingreso: noviembre-2009
Mensajes: 112
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Tomar información de campos "File" en js

,,, gracias por responder,,,
La verdad no se que es un iframe, he buscado por internet y no encuentro ejemplos claros

Tiene algún ejemplo de uso, que me pueda ayudar a dar la solución que ud plantea?? O alguna página donde lo encuentre??

Graciass

Etiquetas: campos, js, tomar
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 10:58.