Foros del Web » Programando para Internet » Javascript »

onchange en input file

Estas en el tema de onchange en input file en el foro de Javascript en Foros del Web. Tengo un input de tipo file que ejecuta una funcion cuando se selecciona un archivo mediante el evento onchange Código HTML: <form> <input type= "file" ...
  #1 (permalink)  
Antiguo 12/09/2009, 12:33
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 21 años, 4 meses
Puntos: 2
onchange en input file

Tengo un input de tipo file que ejecuta una funcion cuando se selecciona un archivo mediante el evento onchange

Código HTML:
<form><input type="file" onchange="mifuncion();"></form> 
pero esa funcion se ejecuta tambien cuando se le da cancelar al open/save dialog que aparece al darle al boton examinar.

¿como puedo hacer para no ejecute la funcion si el usuario presiona "cancelar"?
  #2 (permalink)  
Antiguo 12/09/2009, 13:18
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 9 meses
Puntos: 1485
Respuesta: onchange en input file

Cita:
¿como puedo hacer para no ejecute la funcion si el usuario presiona "cancelar"?
me estuvo muy extraño lo que citas y evidentemente asi lo hace chrome, en Fx3 e iexplorer7 no sucede eso. recuerda que el evento onchange se dispara cuando hay un cambio de valor por lo cual es perfectamente normal si se ejecuta aun presionando sobre Cancel. no se cual es el proposito pero una forma de solucionarlo es verificando el valor antes de proceder a operar con él.
Código:
<input type="file" onchange="if(!this.value.length)return false; mifuncion();" />
// se verifica la longitud de caracteres, si equivale a cero (0) significa una de dos:
// no se ha seleccionado un archivo, o se ha eliminado el valor.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 13/09/2009, 03:34
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 21 años, 4 meses
Puntos: 2
Respuesta: onchange en input file

Si tienes razón eso solo pasa en el chrome, no lo había probado en otros navegadores, pero tu solución funciona perfecto, gracias
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 21:20.