comparison ajax.js @ 865:80f6f31d3711

File upload fixes.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 26 Nov 2014 11:45:30 +0200
parents 1a2ec2f85a97
children a397d2be6d53
comparison
equal deleted inserted replaced
864:16bc6c1029ee 865:80f6f31d3711
64 64
65 65
66 function jsErrorMessageBox(msg) 66 function jsErrorMessageBox(msg)
67 { 67 {
68 jsMessageBox("<h1>Error!</h1><div>"+msg+"</div>"); 68 jsMessageBox("<h1>Error!</h1><div>"+msg+"</div>");
69 }
70
71
72 function jsTitleMessageBox(title, msg)
73 {
74 jsMessageBox("<h1>"+title+"</h1><div>"+msg+"</div>");
69 } 75 }
70 76
71 77
72 function jsConfirmBox(msg, cb_ok, cb_cancel, cb_data) 78 function jsConfirmBox(msg, cb_ok, cb_cancel, cb_data)
73 { 79 {
286 } 292 }
287 293
288 var formData = new FormData(formElem); 294 var formData = new FormData(formElem);
289 var req = jsCreateXMLRequest(); 295 var req = jsCreateXMLRequest();
290 req.upload.addEventListener("progress", jsUploadProgress, false); 296 req.upload.addEventListener("progress", jsUploadProgress, false);
291 req.addEventListener("load", function(ev)
292 {
293 if (fileCallback)
294 setTimeout(fileCallback, 1);
295 }, false);
296
297 req.addEventListener("error", jsUploadError, false); 297 req.addEventListener("error", jsUploadError, false);
298 req.addEventListener("abort", jsUploadAbort, false); 298 req.addEventListener("abort", jsUploadAbort, false);
299
300 req.onreadystatechange = function()
301 {
302 if (req.readyState == 4)
303 {
304 switch (req.status)
305 {
306 case 902:
307 jsStatusMsg(req.statusText);
308 jsMessageBox(req.responseText);
309 break;
310
311 case 903:
312 {
313 var nitem = document.getElementById("messageBox");
314 if (nitem)
315 {
316 nitem.innerHTML = "<div class='messageBoxInner'>"+ req.responseText +
317 "<div class='messageBoxControls'>"+
318 "</div></div>";
319 nitem.style.display = "block";
320 }
321 }
322 break;
323
324 case 200:
325 if (fileCallback)
326 setTimeout(fileCallback, 1);
327
328 jsTitleMessageBox("File upload", req.responseText);
329 break;
330
331 default:
332 jsStatusMsg("["+req.status+" - "+req.statusText+"] "+ req.responseText);
333 break;
334 }
335 }
336 }
337
299 req.open("POST", formTarget); 338 req.open("POST", formTarget);
300 req.send(formData); 339 req.send(formData);
301 } 340 }
302 341
303 342