Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: MrDev en 22 Marzo 2016, 16:34 pm



Título: Problema con las cookies
Publicado por: MrDev en 22 Marzo 2016, 16:34 pm
Estoy haciendo una prueba de formulario y cookies, mi objetivo es guardar las cookies en valores y mostrarlos luego, pero no me hace eso sino que me muestra "nomre=paco,nombre=paco,nombre=paco" en vez de "nombre=paco,apellido=perez,edad=30", pero si hago el alert de document.cookie si me lo muestra bien, las funciones para tratar los datos son estas:

Código
  1. function cookiesSaved(){
  2.    var valor;
  3.  
  4.    //Añadir datos a las cookies
  5.    valor = document.getElementById("nombre").value;
  6.    document.cookie = "Nombre=" + valor;
  7.  
  8.    valor = document.getElementById("apellido").value;
  9.    document.cookie = "Apellido=" + valor;
  10.  
  11.    valor = document.getElementById("edad").value;
  12.    document.cookie = "Edad=" + valor;
  13. }
  14.  
  15. function getValue(word){
  16.    var inicio;
  17.    var final;
  18.    var dato;
  19.    var cadena = document.cookie;
  20.  
  21.    //coger el valor inicial de la cadena
  22.    inicio = cadena.indexOf(word,0);
  23.  
  24.    //coger la longitud de la cadena
  25.    inicio = inicio.length;
  26.  
  27.    //coger la cadena completa
  28.    final = cadena.indexOf(";",inicio);
  29.  
  30.    dato = cadena.substring(inicio,final);
  31.  
  32.    return dato;
  33. }
  34.  
  35. function cookieLoad(){
  36.    var nombre;
  37.    var apellido;
  38.    var edad;
  39.    var cadena = document.cookie;
  40.  
  41.    //asignar los datos a la variable
  42.    nombre = getValue("Nombre=");
  43.    apellido = getValue("Apellido=");
  44.    edad = getValue("Edad=");
  45.  
  46.    //asignar valor a variable
  47.    cadenaHTML = nombre + "," + apellido + "," + edad;
  48.  
  49.    //introducir codigo en el id usuario
  50.    document.getElementById("usuario").innerHTML = cadenaHTML;
  51.    alert(cadena);
  52. }


Título: Re: Problema con las cookies
Publicado por: Gallu en 11 Abril 2016, 17:23 pm
Hola ,

No sé si lograste solucionar el problema por tu cuenta, pero el error está en el método getValue, en la linea

Código
  1. inicio = inicio.length;
  2.  

La función indexOf te devuelve un número, no puedes hacer un length del número, de allí el error.

Si estás usando Chrome puedes usar las herramientas de desarrollador para debuggar el javascript de tus aplicaciones, te ayudará a solucionar errores como este.

http://blog.hostdime.com.co/como-utilizar-las-herramientas-para-desarrolladores-de-chrome/


Saludos