【发布时间】:2014-03-20 14:10:40
【问题描述】:
我是 Javascript/Ajax 新手,我正在尝试使用 cookie 存储用户名。我有一个表格,想记住这个人的名字(id = firstName)。如果他们过去已经填写过,我想在他们下次访问页面时在 span 元素中显示他/她的名字。
这就是我想用伪代码做的。我希望它很清楚......
如果存在 cookie(称为名称),则在标签元素“span”中显示该信息
其他
在用户填写表单时存储该 cookie
(如果重要的话,我有一个输入 type="submit" 作为我的按钮)
@banana 现在我修改了我的代码以匹配我拥有的所有标签名称和 ID。但是,如果我在表单中输入名称、提交并在页面上返回,则跨度中不会显示任何内容。
function setCookie(cname, cvalue, milliseconds) {
var d = new Date();
d.setTime(d.getTime() + (milliseconds));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
document.onload = checkIfCookieExists;
function checkIfCookieExists(){
var firstNameFromCookie = getCookie('firstName');
if(firstNameFromCookie == ''){
// cookie wasnt set
}
else{
// cookie was set
var display = document.getElementsByTagName('span');
display.innerHTML = firstNameFromCookie;
}
}
function init(){
var firstName = document.getElementById('firstName');
var cookieExpieryTimeInMilliseconds = 1000 * 60 * 60; //1000 milliseconds * 60 seconds * 60 minutes - results in 1 hour time.
setCookie('firstName',firstName ,cookieExpieryTimeInMilliseconds );
}
window.onload = init();
【问题讨论】:
-
你也可以使用
localStorage。 -
客户端 Javascript 中的 Cookie 只是客户端。
-
@Banana 和 -SumanBogati Javascript 被标记。
-
@Banana 当问题是关于 Javascript 时,我认为这就是我们正在讨论的内容。
-
@JosephMontecalvo Javascript 被标记 - 应该很清楚。
标签: javascript ajax cookies storage verify