Mercurial > hg > fapweb
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 |