Evento javascript al seleccionar un archivo
3 seguidores
Hola, tengo un input type=file y quiero que cuando se seleccione un archivo coger el nombre de ese archivo y trabajar con el, perono encuentro un evento que me diga cuando se ha selecionado el archivo.
Gracias.
xavib
el <code>document.getElementById('id del input de texto').value</code> como si fuera un campo de texto normal y corriente no te funciona?
sinsonido
Si, así me funciona, lógico.. pero, no me cuadraba mucho que en el evento onclick del boton "examinar..." de un input type=texto me reconociera la ruta local del archivo que voy a seleccionar posteriormente.
Parece ser que el evento onclick se ejecuta cuando se realiza toda la acción de seleccionar el archivo.
Gracias.
zigotica
onchange
sinsonido
Pues no, lo hago en onClick.
*html
<code><input accept="image/jpeg" name="archivo" size="20" onclick="Nombre();" type="file">
<input name="nombre" id="nombre" size="40" type="text"></code>
*js
<code>function Nombre(){
var frm = document.frmAnadir;
var archivo = frm.archivo.value;
nom = archivo.substring(archivo.lastIndexOf("\\")+1,archivo.length-4);
frm.nombre.value=nom;
}</code>
Y funciona, obtengo el nombre del archivo.
Gracias.
zigotica
no digo que no funcione. tu preguntas qué evento debes usar, y yo respondo lo que creo que es más correcto. que funcione el otro no tiene nada que ver :)
sinsonido
Entiendo, entronces utilizaré onChange. Solo preguntaba, no sabía que era lo más correcto, y de hecho, como ves en mi pregunta, me parecía extraño que funcionara con onClick, no tiene mucho sentido.¿No?
Siempre intento utilizar lo mas correcto.
Un saludo y gracias.
zigotica
si tiene sentido, si, pero OJO. al hacer click pasan (o deberian pasar) 2 cosas:
1. sale la ventana para que elijas el archivo, porque es parte de la interface del navegador y eso prima sobre el script
2. salta el evento click, con lo que devuelve el valor del archivo elegido.
Digo que uses onchange porque en IE te devolverá el valor que hay justo en el momento de hacer click, no en el momento de que hayas elegido el archivo (elige varios archivos y veras lo que digo). Por alguna razón digamos que primero salta el onclick, luego eliges el archivo y luego escribes el valor anterior.