Check error code when no completion function is defined as well
[misc/kostenrechnung] / lib / functions.js
index 5a6d42f..e4c6e50 100644 (file)
@@ -7,8 +7,8 @@ function ajax_request_callback(req)
        var data = json_parse(req.responseText);
 
        if (typeof data.error == 'string') {
-           alert("Error in AJAX backend:\n" + data.error);
            error('Fehler im AJAX-Backend');
+           alert("Error in AJAX backend:\n" + data.error);
        } else if (req.oncomplete)
            req.oncomplete(data);
     }
@@ -24,10 +24,9 @@ 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);
 }
 
@@ -72,6 +71,18 @@ function set_value(id, value)
 /*
  * Form functions
  */
+function form_init()
+{
+    var form = document.getElementById('form_edit');
+
+    if (!form) return;
+
+    for (var i=0; i<form.children.length; i++)
+       if (form.children[i].tagName.toLowerCase() == 'input'
+           && form.children[i].type.toLowerCase() == 'password')
+           form.children[i].value = '';
+}
+
 function save_callback(data)
 {
     info('Datensatz gespeichert');
@@ -121,6 +132,9 @@ function fetch_callback(data)
 {
     for (var id in data)
        set_value('edit_'+id, data[id]);
+
+    var status = document.getElementById('form_status');
+    status.innerHTML = 'GeƤndert: ' + data.sys_edit + ' von ' + data.sys_user;
 }
 
 /*