Ajax http://www.oncando.com/dokumentation/sources/javascript/ajax/ de-de www.oncando.com Wed, 23 May 2012 06:19:41 +0000 Ajax http://www.oncando.com http://www.oncando.com ajaxObject(url, callbackFunction) /////////////////////////////////////////////////////////////////////////////////////////// // Ajax Object - cns version 2011 function ajaxObject(url, callbackFunction) { var me=this; this.updating = false; this.abort = function() { if (me.updating) { me.updating=false; me.AJAX.abort(); me.AJAX=null; } }; this.update = function(passData,postMethod) { if (me.updating) { return false; } me.AJAX = null; if (window.XMLHttpRequest) { me.AJAX=new XMLHttpRequest(); }else{ me.AJAX=new ActiveXObject("Microsoft.XMLHTTP"); } if (me.AJAX==null) { return false; }else{ me.AJAX.onreadystatechange = function() { if (me.AJAX.readyState==4) { me.updating=false; me.callback( me.AJAX.responseText, me.AJAX.status, me.AJAX.responseXML, me.AJAX.getAllResponseHeaders() ); me.AJAX=null; } }; me.updating = new Date(); if (/post/i.test(postMethod)) { var uri=urlCall+(/\?/i.test(urlCall)?'&':'?')+'timestamp='+me.updating.getTime(); me.AJAX.open("POST", uri, true); me.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); me.AJAX.setRequestHeader("Content-Length", passData.length); me.AJAX.send(passData); }else{ var uri=urlCall+(/\?/i.test(urlCall)?'&':'?')+passData+'&timestamp='+(me.updating.getTime()); me.AJAX.open("GET", uri, true); me.AJAX.send(null); } return true; } }; var urlCall = url; this.callback = callbackFunction || function (){}; } http://www.oncando.com/dokumentation/sources/javascript/ajax/_part1114 Herr Markus Krause Wed, 23 May 2012 06:19:41 +0000 part1114 sendAjaxForm( form ) /////////////////////////////////////////////////////////////////////////////////////////// // Formular per Ajax senden function sendAjaxForm( form ){ data = getAjaxFormData(form); AXSendForm = new ajaxObject("?action=save", callBackFunc ); AXSendForm.update(data,"post"); return false; } http://www.oncando.com/dokumentation/sources/javascript/ajax/_part1116 Herr Markus Krause Thu, 29 Mar 2012 12:02:10 +0000 part1116 getAjaxFormData( form, data ) /////////////////////////////////////////////////////////////////////////////////////////// // Formular auslesen und zu AjaxPostData zusammenfügen function getAjaxFormData( form, data ){ data = data || ""; for(i=0; i el = form.elements[i]; if(el.type!=null) switch(el.type.toLowerCase()){ case "hidden": case "text": case "password": case "textarea": case "button": data += "&" + el.name + "=" + encodeURIComponent(el.value); break; case "radio": case "checkbox": data += (el.checked ? "&" + el.name + "=" + encodeURIComponent(el.value) : ""); break; case "select": case "select-one": if(el.options.length>0) data += "&" + el.name + "=" + encodeURIComponent(el.options[el.selectedIndex].value); break; // TODO multiselect auswerten } } return data; } http://www.oncando.com/dokumentation/sources/javascript/ajax/_part1115 Herr Markus Krause Thu, 29 Mar 2012 11:49:19 +0000 part1115