Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2010, 13:02
wondercloud
 
Fecha de Ingreso: abril-2009
Mensajes: 43
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear, Leer Cookies

ya encontre el error, era que ojn le pasaba la fecha de expiracion. adjunto el codigo:

Código:
 <style type="text/css">
.flotante 
{
   background: beige;
   border: solid 1px black;
   padding: 5px;
   position:fixed;
   width:995px;
   height:50px;
   top:85%;
}
 </style>
 
 <script type="text/javascript">
	function createCookie()
	{
		var Cookie = document.cookie;	
		
		if(Cookie !="")
		{
			//Si la cookie existe se llama a la funcion deleteCookie y se la elimina
			deleteCookie(Cookie);
		}		
		
		//Definimos un array en donde se almacenaran los valores de los Textboxs
		var ArrayValores = new Array();
		
		//Obtenemos los valores de los Textbox y los asignamos a una posicion en el array
   		 ArrayValores[0] = document.getElementById('txt1').value; 
		 ArrayValores[1] = document.getElementById('txt2').value;
		 ArrayValores[2] = document.getElementById('txt3').value;
		 
		//Establecemos la fecha de expiracion
		FechaVencimientoCookie = new Date;
		FechaVencimientoCookie.setMonth(FechaVencimientoCookie.getMonth() + 3);

		//Agrega los elementos y fecha de vencimiento a la variable 
		var ElementosCookie = escape(ArrayValores)+ ';expires = ' + FechaVencimientoCookie.toGMTString()+"; path= /";

		//Agrego elementos a la cookie
		document.cookie = ElementosCookie;
		//leo Cookie
		readCookie();	
		
	}
	
	function deleteCookie(Cookie)
	{	
		FechaBorraCookie = new Date;
		//Establece una fecha anterior para que se borre la cookie actual
		FechaBorraCookie.setMonth(FechaBorraCookie.getMonth() - 1);
		document.cookie = Cookie + "=; expires=" + FechaBorraCookie.toGMTString();
	} 
	
	function readCookie()
	{	
		//Obtengo valor de cookie
		var NombreCookie = document.cookie;
	
		//Verificamos si existe la cookie, en caso de no existir se llama a la funcion CreateCookie()
		if(NombreCookie != "")
		{
			//var cookie = document.cookie;
			//Se decodifica la cookie
			var fixed_cookie = unescape(NombreCookie);
			//Separamos los elementos de la cookie
			var ElementosCookie = fixed_cookie.split(',');
			//Obtenemos Elementos del Div, en caso de encontrar se llama a la funcion RefreshDIV 
			//para eliminar el contenido y actualizarlo con los nuevos valores de la cookie
			var node = document.getElementById('divFlotante');
			if(node.hasChildNodes())
				RefreshDIV(node);
			
			//Creamos una lista con los elementos de la Cookie
			var CrearUL  = document.createElement('ul');
			var CrearLI;
			var ElementoNodo;
			//Recorre los elementos de la cookie	
			for(var i=0; i<ElementosCookie.length; i++) 
			{
				CrearLI = document.createElement('li');
				ElementoNodo = document.createTextNode(ElementosCookie[i]);
				
				//Preguntamos si el elemento en esa posición es distinto de vacio, en el caso de ser vacio lo ignoramos y no lo agregamos
				if(ElementoNodo.nodeValue != "")
				{
					CrearLI.appendChild(document.createTextNode(ElementosCookie[i]));
					CrearUL.appendChild(CrearLI);
				}		
			}
				
			//Obtenemos el Div que deseamos usar para luego, poder escribir el contenido de la cookie

			document.getElementById('divFlotante').appendChild(CrearUL);	
		}
		else
		{
			createCookie();
		}
		
		function RefreshDIV(node)
		{
			//Se recorre los elementos agregados al div para borrarlos, cuando no se encuentren mas valores, sale del bucle
			while(node.firstChild) 
			{
				node.removeChild(node.firstChild);
			}
		}	
	}
</script>
<body onload="javascript:readCookie()">
<div id='texto' height="100%" width="100px" > 
	<input type="text" id="txt1" value="" /> <input type="button" id="btnAdd" value="add" onclick="javascript:createCookie()" /><br>
	<input type="text" id="txt2" value="" /> 
		<input type="text" id="txt3" value="" /> 
	<div id='ElementosCookie' height="25px" width="480px">
	
	</div>
</body>	
</div>
<div class="flotante" id="divFlotante">texto flotante</div>