Código:
/////////////////// CONFIGURACION //////////////////////////////////// var separador = "$" //caracter separador de campos en el texto de la cookie var numElementos = 1 //numero de campos en el searchfield /////////////////// DATOS QUE SE MOSTRARAN /////////////////////////// function Mostrar(texto, searchfield){ var pieza = null var i = 0 if(CojerCookie(texto) != null) { texto = CojerCookie(texto) pieza = texto.split(separador) for(i = 0; i < pieza.length; i++) if (pieza[i] != null) { searchfield.elements[ i ].value = pieza[ i ] } } } /////////////////////////DATOS QUE SE GUARDARAN ///////////////////////////////////// function JuntarPiezas( searchfield ) { var entero = '' //inserta en un string cada elemento, separados por el caracter separado for ( contador = 0; contador < numElementos - 1; contador++) { entero += searchfield.elements[ contador ].value + separador } //inserta el ultimo elemento entero += searchfield.elements[ numElementos - 1 ].value IntroducirCookie(entero) } ////////////////////////////////// FIN DE VARIABLES A CAMBIAR ///////////////////////////////// function CojerValorCookie(indice) { //indice indica el comienzo del valor var galleta = document.cookie //busca el final del valor, dado por ;, a partir de indice var finDeCadena = galleta.indexOf(";", indice) //si no existe el ;, el final del valor lo marca la longitud total de la cookie if (finDeCadena == -1) finDeCadena = galleta.length return unescape(galleta.substring(indice, finDeCadena)) } function CojerCookie(texto) { var galleta = document.cookie //construye la cadena con el texto del valor var arg = texto + "=" var alen = arg.length //longitud del texto del valor var glen = galleta.length //longitud de la cookie var i = 0 while (i < glen) { var j = i + alen //posiciona j al final del texto del valor if (galleta.substring(i, j) == arg) //si en la cookie estamo ya en texto del valor return CojerValorCookie(j) //devuleve el valor, que esta a partir de j i = galleta.indexOf(" ", i) + 1 //pasa al siguiente if (i == 0) break //fin de la cookie } return null //no se encuentra el texto del valor } function GuardarCookie (texto, valor, caducidad) { if(!caducidad) caducidad = Caduca(0) //crea la cookie: incluye el texto, la caducidad y la ruta donde esta guardada //cada valor esta separado por ; y un espacio document.cookie = texto + "=" + escape(valor) + "; expires=" + caducidad + "; path=/" } function Caduca(dias) { var hoy = new Date() //coge la fecha actual var msEnXDias = eval(dias) * 24 * 60 * 60 * 1000 //pasa los dias a mseg. hoy.setTime(hoy.getTime() + msEnXDias) //fecha de caducidad: actual + caducidad return (hoy.toGMTString()) } function BorrarCookie(texto) { //para borrar la cookie, se le pone una fecha del pasado mediante Caduca(-1) document.cookie = texto + "=; expires=" + Caduca(-1) + "; path=/" } function IntroducirCookie(texto) { //establece la cookie: la caducidad es de 1 dias var _1dias = Caduca(1) //crea la fecha de caducidad si 1 dias if (texto != "") GuardarCookie("Datos", texto, _1dias) } function MostrarMiCookie() { Mostrar('Datos', document.searchfield) } window.onload = MostrarMiCookie; if (document.captureEvents) { //N4 requiere invocar la funcion captureEvents document.captureEvents(Event.LOAD) }