2012-07-13 21 views
6

Podemos usar file.onchange si vamos a establecer una devolución de llamada de evento para lectura de archivo usando javascript, pero ¿cómo establecer evento para cuando el usuario cancele la carga (cierre el panel de navegación)?evento para carga de archivo cancelar en javascript

+0

Tal vez si uno habla de su caso de uso, alguien podría sugerir una alternativa. –

+0

solo quiero enviar el archivo sin redireccionar, entonces tengo que usar iframe. pero quiero que el iframe se construya justo después de que el usuario haga clic en y desaparezca justo después de que el usuario termine de usar el panel. esa es la idea – Dagon

+0

Hmm, ¿así que quieres activar la carga tan pronto como el usuario seleccione algo? Mi sugerencia sería dejar que el usuario elija el archivo, y luego al lado, tener un botón de carga. Luego puede crear el iframe cuando hacen clic en eso. De esta forma, conocerá el valor del selector de archivos y, obviamente, si es nulo, puede presentar algún tipo de mensaje de validación. –

Respuesta

1

No hay API para el modal de entrada de archivo. Además, si el usuario cierra el navegador, su código ya no se ejecutará, ¿verdad?

Por supuesto, existe el método window.onunload que le permite detectar el ejemplo que da.

Por los comentarios, lo mejor que se me ocurre que sería útil es que si no se selecciona nada, file.value.length será 0.

+0

lo siento. no es un navegador lo que quiero decir es el panel de búsqueda de archivos. que se puede abrir cuando hacemos clic en element – Dagon

+3

Sin preocupaciones. Lamentablemente, no hay evento de cancelación. Lo único que he encontrado que sería útil es que, si no se selecciona nada, file.value.length será 0. Lamentablemente, no tienes nada que detectar cuando el usuario sale del modal, excepto en onchange, que como señalas solo se dispara cuando se selecciona un archivo. –

+0

desafortunadamente el valor no cambia entre antes y después del menú emergente del panel de archivos. así que incluso con Setinterval no podemos ver la ventana emergente. ¿Crees que hay otros valores que se cambiarían justo después del panel emergente? – Dagon

0

no hay soporte de navegador "onfileopendialogboxclose" o evento "onfileselectioncancel" aún. Además, el cuadro de diálogo de selección de archivos no es un elemento y no puede ser atrapado como un elemento html

+0

¿No dirías que respondí tu pregunta? Inventar dos nombres de eventos no existentes y usar mi información realmente no está respondiendo la pregunta. –

+0

hecho ........... – Dagon

+0

¡Gracias! Has votado a favor, así que obtendrás algunos puntos. –

-3

Es muy sencillo con jQuery:

$("#fileInputId").change(function() { 
    //implement your code here 
}); 
+2

Esto no resolverá el problema que el OP está pidiendo –

Cuestiones relacionadas