From: Benoît Pin <pin@cri.ensmp.fr>
Date: Tue, 23 Jul 2013 09:26:43 +0000 (+0200)
Subject: Il faut écouter l'événement « readystatechange » plutôt que « load » pour récupérer... 
X-Git-Url: https://svn.cri.mines-paristech.fr/git/Portfolio.git/commitdiff_plain/716ca21deac77c287f5a78548be3ec5da6bb4643?ds=inline

Il faut écouter l'événement « readystatechange » plutôt que « load » pour récupérer le xml résultant.
---

diff --git a/skins/fileupload.js b/skins/fileupload.js
index 2e32fe9..04fde67 100644
--- a/skins/fileupload.js
+++ b/skins/fileupload.js
@@ -63,7 +63,13 @@ DDFileUploader.prototype.upload = function(slide) {
 	var self = this;
 	
 	addListener(req.upload, 'progress', function(evt){self.progressHandler(evt);});
-	addListener(req.upload, 'load', function(evt){self.uploadCompleteHandler(evt, req);});
+	// addListener(req.upload, 'load', function(evt){self.uploadCompleteHandler(evt, req);});
+	addListener(req, 'readystatechange',
+		function(evt) {
+			if (req.readyState == 4) {
+				self.uploadCompleteHandler(req);
+			}
+		});
 
 	req.open("PUT", this.uploadUrl);
 	req.setRequestHeader("Content-Type", file.type);
@@ -78,12 +84,12 @@ DDFileUploader.prototype.upload = function(slide) {
 	reader.readAsBinaryString(file);
 };
 
-DDFileUploader.prototype.uploadCompleteHandler = function(evt, req) {
+DDFileUploader.prototype.uploadCompleteHandler = function(req) {
 	var slide = this.uploadedSlide;
 	this.uploadedSlide.removeChild(slide.label);
     this.uploadedSlide.removeChild(slide.progressBar);
+	slide.innerHTML = req.responseXML.documentElement.firstChild.data;
 	this.uploadQueueLoadNext();
-	this.slide.innerHTML = req.responseXML.documentElement.firstChild.data;
 };
 
 DDFileUploader.prototype.progressHandler = function(evt) {