Problema con las cookies

Iniciado por MrDev, 22 Marzo 2016, 16:34 PM

0 Miembros y 1 Visitante están viendo este tema.

MrDev

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 (javascript) [Seleccionar]
function cookiesSaved(){
    var valor;
   
    //Añadir datos a las cookies
    valor = document.getElementById("nombre").value;
    document.cookie = "Nombre=" + valor;
   
    valor = document.getElementById("apellido").value;
    document.cookie = "Apellido=" + valor;
   
    valor = document.getElementById("edad").value;
    document.cookie = "Edad=" + valor;
}

function getValue(word){
    var inicio;
    var final;
    var dato;
    var cadena = document.cookie;
   
    //coger el valor inicial de la cadena
    inicio = cadena.indexOf(word,0);
   
    //coger la longitud de la cadena
    inicio = inicio.length;
   
    //coger la cadena completa
    final = cadena.indexOf(";",inicio);
   
    dato = cadena.substring(inicio,final);
   
    return dato;
}

function cookieLoad(){
    var nombre;
    var apellido;
    var edad;
    var cadena = document.cookie;
   
    //asignar los datos a la variable
    nombre = getValue("Nombre=");
    apellido = getValue("Apellido=");
    edad = getValue("Edad=");
   
    //asignar valor a variable
    cadenaHTML = nombre + "," + apellido + "," + edad;
   
    //introducir codigo en el id usuario
    document.getElementById("usuario").innerHTML = cadenaHTML;
    alert(cadena);
}

Gallu

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 (javascript) [Seleccionar]

inicio = inicio.length;


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
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.