1// ----------------------------------------------------------------------------- 2// Funcion AJAX - Interface para la conexión XMLHTTP - 10-03-2006 3// Code licensed under Creative Commons Attribution-ShareAlike License 4// http://creativecommons.org/licenses/by-sa/2.0/ 5// ----------------------------------------------------------------------------- 6// PARAMETROS DE LA FUNCIÓN AJAX. 7// ----------------------------------------------------------------------------- 8// sFile -> Dirección URL del script de servidor que va a tratar la 9// petición y nos va a devolver respuesta. 10// params -> Parámetros pasados al script de servidor. 11// Ej: params="clave1=valor1&calve2=valor2" 12// container -> ID del objeto al que se le insertará el código devuelto 13// por el servidor. Ej: "capa1". 14// Con "+capa1" añadimos al contenido de 'capa1' lo devuelto 15// por el servidor. 16// Con "^capa1" añadimos por delante del contenido de 'capa1' 17// lo devuelto por el servidor. 18// sMethod -> POST o GET 19// codeDone -> Código javascript que se ejecutará cuando la llamada 20// ajax haya terminado. 21// ----------------------------------------------------------------------------- 22var HTML_ajax_response = ""; 23function ajax_votar(sFile, params, container, sMethod, codeDone) { 24 25 var myConn = new XHConn(); // Objeto de la conexión 26 // ----------------------------------------------------------------------------- 27 // Campo opcional con código que se ejecutará cuando la petición ajax finalice. 28 // ----------------------------------------------------------------------------- 29 if(codeDone) { 30 var code = codeDone; 31 } 32 // ----------------------------------------------------------------------------- 33 if (!myConn) alert("XMLHTTP not available. Try a newer/better browser."); 34 // ----------------------------------------------------------------------------- 35 // Funcion que se ejecutará cuando XHConn finalize la conexión. 36 // Puede añadir delate('^') del codigo de la capa, detras('+') o sustituirlo. 37 // ----------------------------------------------------------------------------- 38 var fnDone = function (oXML) { 39 if(container) { 40 if(typeof container === "string"){ 41 switch(container.charAt(0)) { 42 case '^': 43 if(typeof container === "string") 44 container = container.replace(/^\^/,''); 45 //if(!document.getElementById(container)) return false; 46 var update = document.getElementById(container).innerHTML; 47 //document.getElementById(container).innerHTML = oXML.responseText + update; 48 replaceHtml(container, oXML.responseText + update); 49 break; 50 case '+': 51 if(typeof container === "string") 52 container = container.replace(/^\+/,''); 53 //if(!document.getElementById(container)) return false; 54 //document.getElementById(container).innerHTML += oXML.responseText; 55 var update = document.getElementById(container).innerHTML; 56 replaceHtml(container, update + oXML.responseText); 57 break; 58 default: 59 //if(!document.getElementById(container)) return false; 60 //document.getElementById(container).innerHTML = oXML.responseText; 61 replaceHtml(container, oXML.responseText); 62 break; 63 } 64 } else { 65 replaceHtml(container, oXML.responseText); 66 } 67 } 68 // Ejecución de codigo javascript al terminar la conexion AJAX. 69 if(code) { eval(code) } 70 }; 71 myConn.connect(sFile, sMethod, params, fnDone); 72} 73// ----------------------------------------------------------------------------- 74// Funcion AJAX - Interface para la conexión XMLHTTP - 10-03-2006 75// Code licensed under Creative Commons Attribution-ShareAlike License 76// http://creativecommons.org/licenses/by-sa/2.0/ 77// ----------------------------------------------------------------------------- 78function ajaxVar(sFile, globalVar, params, sMethod, codeDone) { 79// ----------------------------------------------------------------------------- 80// Separamos el php de la id de la capa donde se introducira el texto devuelto 81// sFile <=> "script.php#id_capa" 82// ----------------------------------------------------------------------------- 83 //var sFile = sFile.split('#'); 84 var myConn = new XHConn(); // Objeto de la conexión 85 // ----------------------------------------------------------------------------- 86 // Campo opcional con código que se ejecutará cuando la petición ajax finalice. 87 // ----------------------------------------------------------------------------- 88 if(codeDone) { 89 var code = codeDone; 90 } 91 92 // ----------------------------------------------------------------------------- 93 if (!myConn) alert("XMLHTTP not available. Try a newer/better browser."); 94 // ----------------------------------------------------------------------------- 95 // Funcion que se ejecutará cuando XHConn finalize la conexión. 96 // Puede añadir delate('^') del codigo de la capa, detras('+') o sustituirlo. 97 // ----------------------------------------------------------------------------- 98 var fnDone = function (oXML) { 99 eval(globalVar + " = oXML.responseText"); 100 // Ejecución de codigo javascript al terminar la conexion AJAX. 101 if(code) { eval(code) } 102 }; 103 return myConn.connect(sFile, sMethod, params, fnDone); 104} 105// ----------------------------------------------------------------------------- 106// XHConn - Simple XMLHTTP Interface - [email protected] - 2005-04-08
107// Code licensed under Creative Commons Attribution-ShareAlike License 108// http://creativecommons.org/licenses/by-sa/2.0/ 109// ----------------------------------------------------------------------------- 110function XHConn() { 111 112 var xmlhttp, bComplete = false; 113 try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } 114 catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } 115 catch (e) { try { xmlhttp = new XMLHttpRequest(); } 116 catch (e) { xmlhttp = false; }}} 117 if (!xmlhttp) return null; 118 this.connect = function(sURL, sMethod, sVars, fnDone) { 119 if (!xmlhttp) return false; 120 bComplete = false; 121 sMethod = sMethod.toUpperCase(); 122 try { 123 if (sMethod == "GET") { 124 xmlhttp.open(sMethod, sURL+"?"+sVars, true); 125 sVars = ""; 126 } else { 127 xmlhttp.open(sMethod, sURL, true); 128 xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1"); 129 //xmlhttp.setRequestHeader("Content-Type", 130 // "text/html; charset=iso-8859-1"); 131 xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 132 } 133 xmlhttp.onreadystatechange = function() { 134 if (xmlhttp.readyState == 4 && !bComplete) { 135 bComplete = true; 136 fnDone(xmlhttp); 137 }}; 138 xmlhttp.send(sVars); 139 } 140 catch(z) { return false; } 141 return true; 142 }; 143 return this; 144} 145// ----------------------------------------------------------------------------- 146// Funcion de reemplazo del inneHTML. En IE funciona del modo tradicional.En el 147// resto de navegadores se modifica la forma de insertar el código dentro del 148// objeto para optimizar el tiempo de reemplazo de dicho código. 149// ----------------------------------------------------------------------------- 150function replaceHtml(el, html) { 151 var oldEl = (typeof el === "string" ? document.getElementById(el) : el); 152 /*@cc_on // Puro innerHTML para IE (que es más rápido) 153 oldEl.innerHTML = html; 154 return oldEl; 155 @*/ 156 var newEl = oldEl.cloneNode(false); 157 newEl.innerHTML = html; 158 oldEl.parentNode.replaceChild(newEl, oldEl); 159 return newEl; 160}; 161 162 163var ajax_url = "votar_noticia.asp"; 164function votar(valor_voto, id_entrada, seccion){ 165 var params = "&action=votar"; 166 params += "&valor_voto=" + valor_voto; 167 params += "&id=" + id_entrada; 168 params += "&seccion=" + seccion; 169 ajax_votar(ajax_url, params, "contenedor_votos_" + id_entrada, "POST"); 170} 171 172function votado(){ 173alert('Su voto ya ha sido recogido anteriormente'); 174}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.