Foros del Web » Programando para Internet » Javascript »

Cookie

Estas en el tema de Cookie en el foro de Javascript en Foros del Web. Buenas: Estoy intentando definir una cookie que me guarde un simple nombre (agendas ó contactos, en función de un link que se pinche). El problema ...
  #1 (permalink)  
Antiguo 13/02/2010, 09:30
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 9 años, 11 meses
Puntos: 4
Cookie

Buenas:

Estoy intentando definir una cookie que me guarde un simple nombre (agendas ó contactos, en función de un link que se pinche). El problema viene al pinchar el link. He definido 3 funciones, una que guarda en una variable el valor de un link, otra que hace lo mismo, y otra que manda la cookie. Al pinchar en uno de esos dos links, me dice que la función "-" (según el link que pinche, llama a una función o a otra) no está definida.

Este es mi código:

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <title></title>
  4. <link rel="" type="" href="">
  5. <script type="javascript">
  6. <!--
  7.     //Cookie Paso a Paso:
  8.    
  9.         //Previo a todo se preparan los valores de las cookies:
  10.         var valor = "";
  11.         function contactos(){
  12.             var valor = contactos;
  13.             mandarCookie();}
  14.         function agenda(){
  15.             var valor = agenda;
  16.             mandarCookie();}
  17.    
  18.         //Preparados los valores, lo primero es definir la cookie y enviarla:
  19.         function mandarCookie("Cookieamandar", valor){
  20.             var cookieCode = "Cookieamandar" + "=" + valor;
  21.             document.cookie = cookieCode;}
  22.        
  23.        
  24.        
  25. //-->
  26. </script>
  27. </head>
  28. <body>
  29.     <a href="form.html" name="contactos" onClick="contactos();">Contactos</a>
  30.     <a href="form.html" name="agenda" onClick="agenda();">Agenda</a>
  31.  
  32. </body>
  33. </html>


¿Qué tengo mal ahí? Y, ¿cómo puedo mandar la cookie, y luego recogerla en otra página?

Muchas gracias!
  #2 (permalink)  
Antiguo 13/02/2010, 09:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 6 meses
Puntos: 836
Respuesta: Cookie

El parámetro de la función no debería ser una cadena. Además, al llamar a la función mandarCookie() no estás pasando el parámetro "valor".
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 14/02/2010, 12:08
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 9 años, 11 meses
Puntos: 4
Respuesta: Cookie

Buenas:

He hecho lo que dijiste, quité la cadena y le pasé una variable como parámetro (una variable tipo string), y luego le pasé parámetros a la función mandarCookie, quedando esto:


Código Javascript:
Ver original
  1. var valor = "";
  2.         var galleta = pablo@galleta.com
  3.         function contactos(){
  4.             var valor = contactos;
  5.             mandarCookie(galleta, valor);}
  6.         function agenda(){
  7.             var valor = agenda;
  8.             mandarCookie(galleta, valor);}
  9.    
  10.         //Preparados los valores, lo primero es definir la cookie y enviarla:
  11.         function mandarCookie(name, value){
  12.             var cookieCode = galleta + "=" + valor;
  13.             document.cookie = cookieCode;}


Igualmente, la consola de errores de firefox me sigue diciendo que la función contactos (al pinchar el primer link) no está definida, y al abrir el código, me señala que el fallo está en la primera línea (<html>).

¿Qué puede estar dando este fallo?

Gracias!
  #4 (permalink)  
Antiguo 14/02/2010, 19:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 6 meses
Puntos: 836
Respuesta: Cookie

En la línea 2 la dirección de correo debería ir entre comillas, ya que es una cadena.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 15/02/2010, 04:51
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 9 años, 11 meses
Puntos: 4
Respuesta: Cookie

Hola, David:

Aun así, habiendo puesto la cadena entre comillas, y poniendo el ";" que faltaba, me sigue diciendo que, tanto la función agenda como la función contactos no están definidas, según a cuál de las dos llame. . .

Es más, he seguido varios tutoriales que encontré vía google para hacer cookies, y siempre, en todos, he recibido el mismo mensaje: la función [...] no está definida.

¿Te importaría explicarme un poco cómo se usa el método cookie? Quizá así pueda averiguar yo mismo dónde está el problema.

Muchas gracias por contestar.
  #6 (permalink)  
Antiguo 15/02/2010, 08:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 6 meses
Puntos: 836
Respuesta: Cookie

¿Dónde colocas ese código? ¿Es el único código Javascript que tienes? ¿Probaste en una página vacía?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 15/02/2010, 08:56
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 9 años, 11 meses
Puntos: 4
Respuesta: Cookie

Lo estoy poniendo en una página con solo eso, sin nada más, y he probado a ponerlo en el head y en el body, y lo mismo me dice en los dos sitios xD

En teoría, tengo que meterlo en una página con más JS, pero de momento, solo tengo ese script.
  #8 (permalink)  
Antiguo 15/02/2010, 08:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 6 meses
Puntos: 836
Respuesta: Cookie

Veo que tienes dos campos con el mismo nombre que las funciones, eso puede causar conflictos. Además, ¿qué es lo que intentas asignar a la variable valor?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 15/02/2010, 09:44
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 9 años, 11 meses
Puntos: 4
Respuesta: Cookie

Nada, lo mismo, he cambiado los valores de las variables, y sigue dando error. Por si sirve de algo, al abrir el código de la consola de errores para ver la línea que da fallo, me dice que el fallo está en la primera línea (<html>).

Lo que le quiero pasar a las variables es irrelevante, da igual que ponga agenda o boquerón, el caso es poder diferenciar dos valores distintos para luego obtenerlos en el form, y poner un if que lea ese valor, para direccionar a una u otra página...

if(valor1){open('pagina1.html')}else if(valor2){open('pagina2.html')}

Pero, para eso, debo diferenciar entre uno u otro link.

Etiquetas: cookie
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:30.