X-Git-Url: https://git.infodrom.org/?p=misc%2Fkostenrechnung;a=blobdiff_plain;f=lib%2Ffunctions.js;h=e4c6e50d8ff5c98591c973e6bc30ee713570308c;hp=07af4983b260a7a7e9d72299e93d5412f03eb90f;hb=fb59ac57d240796dfc9af80207bf3b1e3e9e2fb4;hpb=cfbfe4b4bc3260efe4586d94819fe3fdf685ed47 diff --git a/lib/functions.js b/lib/functions.js index 07af498..e4c6e50 100644 --- a/lib/functions.js +++ b/lib/functions.js @@ -6,7 +6,10 @@ function ajax_request_callback(req) if (req.readyState == 4 && req.status == 200) { var data = json_parse(req.responseText); - if (req.oncomplete) + if (typeof data.error == 'string') { + error('Fehler im AJAX-Backend'); + alert("Error in AJAX backend:\n" + data.error); + } else if (req.oncomplete) req.oncomplete(data); } } @@ -21,19 +24,40 @@ function ajax_request(func,params,oncomplete) req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); req.setRequestHeader("Content-length", params.length); req.setRequestHeader("Connection", "close"); - if (typeof oncomplete == 'function') { - req.onreadystatechange = function() { ajax_request_callback(req); } + req.onreadystatechange = function() { ajax_request_callback(req); } + if (typeof oncomplete == 'function') req.oncomplete = oncomplete; - } req.send(params); } +function info(msg) +{ + var status = document.getElementById('status'); + if (!status) return; + + status.innerHTML = msg; + status.className = 'status_ok'; +} + +function error(msg) +{ + var status = document.getElementById('status'); + if (!status) return; + + status.innerHTML = msg; + status.className = 'status_error'; +} + function set_value(id, value) { var obj = document.getElementById(id); if (!obj) return; if (obj.nodeName.toLowerCase() == 'input' + && obj.type.toLowerCase() == 'checkbox') + if (value) obj.checked = true; + else obj.checked = false; + else if (obj.nodeName.toLowerCase() == 'input' || obj.nodeName.toLowerCase() == 'textarea') obj.value = value; else if (obj.nodeName.toLowerCase() == 'span') @@ -47,17 +71,72 @@ function set_value(id, value) /* * Form functions */ +function form_init() +{ + var form = document.getElementById('form_edit'); + + if (!form) return; + + for (var i=0; i