function creaAjax(){ //------------------------------------------------------------------------------- var objetoAjax=false; try { /*Para navegadores distintos a internet explorer*/ objetoAjax = new XMLHttpRequest();; } catch (e) { try { /*Para explorer*/ objetoAjax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { objetoAjax = false; } } if (!objetoAjax && typeof XMLHttpRequest!='undefined') { objetoAjax = new XMLHttpRequest(); } return objetoAjax; } /***********************************************************************************/ /* Funcion FAjax */ /***********************************************************************************/ function FAjax (url,capa,valores,metodo){ var ajax=creaAjax(); var capaContenedora = document.getElementById(capa); capaContenedora.innerHTML="

"; //capaContenedora.innerHTML="Cargando......"; /*Creamos y ejecutamos la instancia si el metodo elegido es POST*/ if(metodo.toUpperCase()=='POST'){ ajax.open ('POST', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { //Petición en carga capaContenedora.innerHTML="Cargando......"; } else if (ajax.readyState==4){ //Petición completada if(ajax.status==200){ capaContenedora .innerHTML=ajax.responseText; } else if(ajax.status==404){ capaContenedora.innerHTML = "La direccion no existe" + url; } else{ capaContenedora.innerHTML = "Error: "+ ajax.status + ajax.responseText; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(valores); return; } /*Creamos y ejecutamos la instancia si el metodo elegido es GET*/ if (metodo.toUpperCase()=='GET'){ ajax.open ('GET', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { capaContenedora.innerHTML="Cargando......."; } else if (ajax.readyState==4){ if(ajax.status==200){ var vxml = ajax.responseXML.documentElement; //Accedemos al xml recibido //for (i = 0; i < vxml.getElementsByTagName('mensaje').length; i++){ var item = vxml.getElementsByTagName('mensaje')[1]; var txt = item.getElementsByTagName('texto')[0].firstChild.data; //también se puede escribir así capaContenedora.style.visibility="visible"; capaContenedora.innerHTML=txt; //} } else if(ajax.status==404) { capaContenedora.innerHTML = "La direccion no existe" + url; } else { capaContenedora.innerHTML = "Error: ".ajax.status + ajax.responseText; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(null); return } } /***********************************************************************************/ /* Funcion FAjax Madre */ /***********************************************************************************/ function FAjaxMadre (url,capa,valores,metodo){ var ajax=creaAjax(); var capaContenedora = window.opener.document.getElementById(capa); /*Creamos y ejecutamos la instancia si el metodo elegido es POST*/ if(metodo.toUpperCase()=='POST'){ ajax.open ('POST', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { //Petición en carga capaContenedora.innerHTML="Cargando......."; } else if (ajax.readyState==4){ //Petición completada if(ajax.status==200) { window.opener.document.getElementById(capa).innerHTML=ajax.responseText; } else if(ajax.status==404) { capaContenedora.innerHTML = "La direccion no existe" + url; } else { capaContenedora.innerHTML = "Error: "+ajax.status + ajax.responseText; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(valores); return; } /*Creamos y ejecutamos la instancia si el metodo elegido es GET*/ if (metodo.toUpperCase()=='GET'){ ajax.open ('GET', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { capaContenedora.innerHTML="Cargando......."; } else if (ajax.readyState==4){ if(ajax.status==200){ var vxml = ajax.responseXML.documentElement; //Accedemos al xml recibido //for (i = 0; i < vxml.getElementsByTagName('mensaje').length; i++){ var item = vxml.getElementsByTagName('mensaje')[1]; var txt = item.getElementsByTagName('texto')[0].firstChild.data; //también se puede escribir así capaContenedora.style.visibility="visible"; capaContenedora.innerHTML=txt; //} } else if(ajax.status==404) { capaContenedora.innerHTML = "La direccion no existe" + url; } else { capaContenedora.innerHTML = "Error: ".ajax.status + ajax.responseText; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(null); return } } /****************************************************************************************/ /* Funcion FSetAjax */ /****************************************************************************************/ /* Esta funcion pone el resultado de la peticion Ajax en el atributo Value del Control */ /* que se le pasa por referencia. */ /****************************************************************************************/ function FSetAjax (url,control,valores,metodo){ var ajax=creaAjax(); var capaContenedora = document.getElementById(control); /*Creamos y ejecutamos la instancia si el metodo elegido es POST*/ if(metodo.toUpperCase()=='POST'){ ajax.open ('POST', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { //Petición en carga capaContenedora.value="Cargando......"; } else if (ajax.readyState==4){ //Petición completada if(ajax.status==200) { document.getElementById(control).value=ajax.responseText; } else if(ajax.status==404) { capaContenedora.value = "La direccion no existe" + url; } else { capaContenedora.value = "Error: "+ ajax.status + ajax.responseText; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(valores); return; } /*Creamos y ejecutamos la instancia si el metodo elegido es GET*/ if (metodo.toUpperCase()=='GET'){ ajax.open ('GET', url, true); ajax.onreadystatechange = function() { if (ajax.readyState==1) { capaContenedora.value="Cargando......."; } else if (ajax.readyState==4){ if(ajax.status==200){ var vxml = ajax.responseXML.documentElement; //Accedemos al xml recibido //for (i = 0; i < vxml.getElementsByTagName('mensaje').length; i++){ var item = vxml.getElementsByTagName('mensaje')[1]; var txt = item.getElementsByTagName('texto')[0].firstChild.data; //también se puede escribir así //capaContenedora.style.visibility="visible"; capaContenedora.value=txt; //} } else if(ajax.status==404) { capaContenedora.value = "La direccion no existe" + url; } else { capaContenedora.value = "Error: ".ajax.status + ajax.responseText; } } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(null); return } }