PageSourceSearch

https://www.navalmoralfs.com/javascript/votar.js

js navalmoralfs.com collected 2026-10-02 14:27:14 UTC 7,949 bytes, 174 lines download raw bytes

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.