X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=js%2Futils.js;h=24a9c1a914d3414f6cb1aa149a79d89c34996b77;hb=e41b7b30847fa2889d67d4e418bb9819a85f065d;hp=9380db34c6bdb3adf35d3bf38c17891d391c89d5;hpb=37da0ea920fdff712ccef4e1324aa822e981c8fc;p=fa-stable.git diff --git a/js/utils.js b/js/utils.js index 9380db34..24a9c1a9 100644 --- a/js/utils.js +++ b/js/utils.js @@ -9,10 +9,13 @@ // request is directed to current location // JsHttpRequest.request= function(trigger, form) { + var mark = document.getElementById('ajaxmark'); + if(mark) mark.style.visibility = 'visible'; if (trigger.tagName=='A') { var content = {}; var upload = 0; var url = trigger.href; + if (trigger.id) content[trigger.id] = 1; } else { var submitObj = typeof(trigger) == "string" ? document.getElementsByName(trigger)[0] : trigger; @@ -41,6 +44,7 @@ // Function is called when an answer arrives. function(result, errors) { // Write the answer. + var newwin = 0; if (result) { for(var i in result ) { atom = result[i]; @@ -55,11 +59,13 @@ if(cmd=='as') { eval("objElement.setAttribute('"+property+"',"+data+");"); } else if(cmd=='up') { -// if(!objElement) debug('No element "'+id+'"'); +// if(!objElement) alert('No element "'+id+'"'); + if(objElement) { if (objElement.tagName == 'INPUT' || objElement.tagName == 'TEXTAREA') objElement.value = data; else objElement.innerHTML = data; // selector, div, span etc + } } else if(cmd=='di') { // disable/enable element objElement.disabled = data; } else if(cmd=='fc') { // set focus @@ -69,6 +75,7 @@ } else if(cmd=='rd') { // client-side redirection window.location = data; } else if(cmd=='pu') { // pop-up + newwin = 1; window.open(data,'REP_WINDOW','toolbar=no,scrollbar=no,resizable=yes,menubar=no'); } else { errors = errors+'
Unknown ajax function: '+cmd; @@ -77,13 +84,18 @@ // Write errors to the debug div. document.getElementById('msgbox').innerHTML = errors; + var mark = document.getElementById('ajaxmark'); + if(mark) mark.style.visibility = 'hidden'; Behaviour.apply(); + if (errors.length>0) window.scrollTo(0,0); //document.getElementById('msgbox').scrollIntoView(true); // Restore focus if we've just lost focus because of DOM element refresh - setFocus(); + if(!newwin) { + setFocus(); + } } }, false // do not disable caching