POšdrav svima, imam jednu funkciju za upload preko AJAX i jQuery koju sam napravio ali imam problem da prikažem procentualno koliko je vremena ostalo da se fajl preuzme. Da li neko zna kako se to radi?
Moja skripta:
$(function(){
$("#load").load("components/dashboard/options/documents/list.php");
$("#save-click").click(function(){
$("#error").html("<span style=\"color:blue\">Upload may take a while, please be patient and do not close the window.</span><br><div style=\"height:20px; width:50px; background:url(images/imagesfancybox_loading.gif) no-repeat center center;\"></div>");
var formObj = $("#new");
var formURL = formObj.attr("action");
var formData = $("#new")[0];
var formData = new FormData(formData);
$.ajax({
url: formURL,
type: "POST",
data: formData,
mimeType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
statusCode:{
404: function(){$("#error").html("ERROR 404 - File for checking login data not found.");},
401: function(){$("#error").html("ERROR 401 - You don\'t have permission to access to this option.");},
408: function(){$("#error").html("ERROR 408 - Request timeout.");},
500: function(){$("#error").html("ERROR 500 - Internal server error.");}
},
success: function(data, textStatus, jqXHR)
{
if($.trim(data)==="true")
{
$("#title").val("");
$("#file").val("");
$("#error").html("");
$("#load").html("<div style=\"height:20px; width:50px; background:url(images/imagesfancybox_loading.gif) no-repeat center center;\"></div>");
$("#load").delay(300).load("components/dashboard/options/documents/list.php");
}
else
{
$("#error").html("<p style=\"color:#f00\">" + data + "</p>");
}
},
error: function(jqXHR, textStatus, errorThrown){
$("#error").html("<p style=\"color:#f00\">" + errorThrown + "</p>");
}
});
});
});
Još učim jQuery ali ovo je neko moje rešenje koje perfektno radi, samo korisnici nikada neznaju koliko vremena im je ostalo kada postavljaju fajlove veće od 10MB a nekada se aplouduje i preko 200MB.
Hvala!
|