buenos días,
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 originalfunction 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";
}