Pretendo hacer una llamada ajax por cada archivo subido, y disponer de un div donde mostrar el proceso de subida archivo a archivo, me encuentro con el problema de poder pasar varios argumentos para manejar el evento, no tengo claro como pasar varios argumentos a la función progreso:
Código Javascript:
Ver original
function subirArchivo() { var archivos = document.getElementById("files").files; for(var i = 0; i< archivos.length; i++) { var file = archivos[i]; var formdata = new FormData(); formdata.append("upload", file); var ajax = new XMLHttpRequest(); ajax.upload.addEventListener("progress", progreso, false); ajax.addEventListener("load", operacion_completada, false); ajax.addEventListener("error", mensaje_error, false); ajax.addEventListener("abort", abortar_subida, false); ajax.open("POST", "upload.php"); ajax.send(formdata); } } function progreso(event){ document.getElementById("total").innerHTML = "Subidos "+ event.loaded+" bytes de "+event.total; var percent = (event.loaded / event.total) * 100; document.getElementById("progressBar").value = Math.round(percent); document.getElementById("estado").innerHTML = Math.round(percent)+"% subiendo... por favor, espere"; } function operacion_completada(event) { document.getElementById("estado").innerHTML = event.target.responseText; document.getElementById("progressBar").value = 0; } function mensaje_error(event) { document.getElementById("estado").innerHTML = "Error al subir el archivo"; } function abortar_subida(event) { document.getElementById("estado").innerHTML = "Upload Abort"; }