Estoy trabajando en una aplicación de prueba como parte de mi curso universitario y me encontré con un pequeño obstáculo. El siguiente código es para algunas funciones que he escrito. Se supone que toman la entrada del usuario de los campos de nombre y correo electrónico, validan el correo electrónico y almacenan el nombre como una cookie para que se muestre en otra página.
Tengo esto funcionando en su mayor parte, pero tengo problemas para que el valor de la cookie almacenada se muestre correctamente. Se está cargando, pero se muestra como undefined=ryan. Si escribo un nombre más largo, se muestra cada vez menos de la cadena. Creo que hay un problema con la sección en la que intenté dividir la cadena, pero no puedo resolverlo por mi vida.
Cualquier ayuda o consejo sería muy apreciado.
Gracias :)
function setCookie(cname, cvalue) { let userValue = document.getElementById("email").value; let pos_of_at = userValue.indexOf("@"); if (userValue == " " || pos_of_at<0) { alert("You must enter a valid email address"); document.getElementById("email").focus(); } else { cvalue=document.getElementById("userName").value; document.cookie= cname + " = " + cvalue + ";"; window.location.href="/quiz.html" } } function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for(let i =0; i<ca.length; i++) { let c = ca[i]; c = c.trim(); if (c.indexOf(c) ==0) { return c.substring(name.length, c.length); } } return "cookie not found"; } function checkCookie() { document.getElementById("userName").innerHTML=getCookie("name"); }Lo averigué. El problema fue la función checkCookie.
Estaba
function checkCookie() { document.getElementById("userName").innerHTML=getCookie("name"); }debería haber sido
function checkCookie() { document.getElementById("userName").innerHTML=getCookie(); }