Foros del Web » Programando para Internet » Javascript »

Subir archivos al cambiar input file

Estas en el tema de Subir archivos al cambiar input file en el foro de Javascript en Foros del Web. ¿Cómo se podrían subir archivos al servidor utilizando solo el input type="file"? Quiero decir, sin tener que cliquear en submit, que de forma automática se ...
  #1 (permalink)  
Antiguo 28/05/2014, 14:25
Avatar de AngelMarine  
Fecha de Ingreso: enero-2014
Ubicación: Madrid
Mensajes: 79
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Subir archivos al cambiar input file

¿Cómo se podrían subir archivos al servidor utilizando solo el input type="file"?

Quiero decir, sin tener que cliquear en submit, que de forma automática se suba.

Había pensado en onchange, ¿Qué os parece?
  #2 (permalink)  
Antiguo 28/05/2014, 15:54
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Subir archivos al cambiar input file

¿Que intentaste?
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 29/05/2014, 08:49
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Subir archivos al cambiar input file

Genio!

¿Te refieres a hacerlo asincrónicamente? ¿AJAX?
  #4 (permalink)  
Antiguo 30/05/2014, 13:13
Avatar de AngelMarine  
Fecha de Ingreso: enero-2014
Ubicación: Madrid
Mensajes: 79
Antigüedad: 10 años, 3 meses
Puntos: 0
Exclamación Respuesta: Subir archivos al cambiar input file

Cita:
Iniciado por PHPeros Ver Mensaje
Genio!

¿Te refieres a hacerlo asincrónicamente? ¿AJAX?
¿Asincrónicamente?.

No estoy muy al día con Ajax, sin embargo lo he intentado, el resultado ya te lo imaginas (no funcionó).

  #5 (permalink)  
Antiguo 30/05/2014, 13:18
Avatar de AngelMarine  
Fecha de Ingreso: enero-2014
Ubicación: Madrid
Mensajes: 79
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Subir archivos al cambiar input file

He intentado esto con jquery:

<form id="imagen" name="seleccion_img" method="POST" action="upload.php">
<input type="text" id="seleccionar">
<input name="enviar" type="submit" />
</form>

jquery:

$(document).ready(function(){
$('#seleccionar').change(function(){
$('#enviar').click();
});
});

Pero no me da el resultado que busco, sencillamente no hace nada.
  #6 (permalink)  
Antiguo 30/05/2014, 18:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Subir archivos al cambiar input file

En esta línea:

Código Javascript:
Ver original
  1. $('#enviar').click();

Solo asignas un método, no realizas una acción. Lo que debes hacer es enviar el formulario a través del método submit().

Código Javascript:
Ver original
  1. document.getElementById("seleccionar").addEventListener("change", function(){
  2.     this.form.submit();
  3. }, false);

Así es como lo harías con código JavaScript nativo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 31/05/2014, 01:54
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: Subir archivos al cambiar input file

Hola:

Estaba viendo que el campo "seleccionar" es de texto (debería ser file)...

No te compliques con librerías... en línea sería simplemente:
<input type="file" name="seleccionar" onchange="this.form.submit()" />

También te recomiendo un botón del tipo submit por los que a veces desactivamos javascript...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: javascript+html, javascript+php, php, php+ajax
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.