Foros del Web » Programando para Internet » Javascript »

¿Cómo realizar la misma acción del evento onchange en un input="file"?

Estas en el tema de ¿Cómo realizar la misma acción del evento onchange en un input="file"? en el foro de Javascript en Foros del Web. Hola, tengo entendido que el evento onchange solo funciona en los inputs: text, textarea y select; me gustaría saber si hay alguna alternativa que pueda ...
  #1 (permalink)  
Antiguo 25/10/2013, 06:25
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ¿Cómo realizar la misma acción del evento onchange en un input="file"?

Hola, tengo entendido que el evento onchange solo funciona en los inputs: text, textarea y select; me gustaría saber si hay alguna alternativa que pueda usar en un input="file".

Se trata de un formulario que cuando se le da clic en dicho input abre una ventana del equipo para seleccionar una imagen y subirla, la idea era que luego del clic se subiera de forma automática sin tener que dar clic en el input "submit", que permanece oculto.

He intentado hacerlo de todas formas, pero lo que hace es recargar la página sin recibir los datos del form. Por tanto, no funciona.

onchange="document.getElementById('form').submit() "

Alguna sugerencia, gracias a todos de antemano.
  #2 (permalink)  
Antiguo 25/10/2013, 07:23
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: ¿Cómo realizar la misma acción del evento onchange en un input="file"?

Si, eso es lo que te dije ayer Puedes recrear ese evento con Jquery... ejemplo:

http://jsfiddle.net/NbGBj/

Saludos
  #3 (permalink)  
Antiguo 25/10/2013, 09:13
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Cómo realizar la misma acción del evento onchange en un input="file"?

Cita:
Iniciado por PHPeros Ver Mensaje
Si, eso es lo que te dije ayer Puedes recrear ese evento con Jquery... ejemplo:

http://jsfiddle.net/NbGBj/

Saludos
Me ha dado el mismo resultado, se recarga la página pero no envía los datos del formulario. Por lo visto es "imprescindible" cliquear el input="submit".

Utilice esto:

<script type="text/javascript">

$("document").ready(function(){

$("#photo").change(function() {

$('#photo').submit();

});

});
</script>

Se me ocurre algo, aunque no estoy seguro, ¿Existe alguna manera de "cliquear" virtualmente a través de js,..., el input="submit"?

Gracias de todas formas por tu respuesta.
  #4 (permalink)  
Antiguo 25/10/2013, 09:16
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: ¿Cómo realizar la misma acción del evento onchange en un input="file"?

NO! Tienes que agregar el evento al input file no al form.

Si no es así pon todo el código incluyendo html.
  #5 (permalink)  
Antiguo 25/10/2013, 10:06
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: ¿Cómo realizar la misma acción del evento onchange en un input="file"?

Hola:

No sé cuál será el problema, pero en un campo file puedes poner onchange="this.form.submit()", y funciona en todos los navegadores con javascript activado... lo adecuado es poner a la vez un botón del tipo submit (quizá dentro de un tag noscript)...

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

Etiquetas: html
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 13:44.