En cambio, cuando escribo "onchange='mostrar_subidas(this.files)'" sí que me funciona y eso es lo que no entiendo!
Código HTML:
Ver original
<form><input type='file' onchange='mostrar_subidas(this.files)' multiple name='input_archivos_adjuntos[]' id='input_archivos_adjuntoss' style='opacity: 0; outline: medium none; cursor: pointer; height: 20px; margin: 0px 10px 0px 8px; top: 0px; right: 0px; position: absolute;' title='Seleccionar un archivo desde su PC'/></form>
Código Javascript:
Ver original
//Esta función muestra los archivos adjuntos function mostrar_subidas(elemento) { var archivos = document.getElementById('input_archivos_adjuntoss'); archivos.style.opacity="1"; //Hago esto para comprobar que, efectivamente, estoy seleccionado el input correcto archivos = archivos.files; alert(archivos.length); //Siempre me devuelve 0, no importa cuantos archivos suba... for (var i = 0; i < archivos.length; i++){ alert(archivos[i].name); //No me sale nada... } alert(elemento.length); //Aquí SÍ me funciona }
Eso es lo que NO entiendo... Cuando invoco al files.length mediante un this.files, SÍ me funciona...
Pero cuando hago un document.getElementById('input_archivos_adjuntoss' ).files, no me