首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用JavaScript获取cookies以保存在表单中。Javascript新手

无法使用JavaScript获取cookies以保存在表单中。Javascript新手
EN

Stack Overflow用户
提问于 2018-03-20 23:06:03
回答 1查看 106关注 0票数 1

嗨,我是JavaScript的新手,正在做一个项目。我正在尝试在提交表单、返回页面然后刷新时保存cookies。我可以让它在Firefox和Edge中保存cookie,但不能在chrome中保存。谁能告诉我我错过了什么?

Javacript:

代码语言:javascript
复制
"use strict";

function processCookie(){
if(document.getElementById("rememberInput").checked){
    document.cookie = "username=" + document.getElementById("usernameinput").value;

}else{
    var expiresDate = new Date();
    expiresDate.setDate(expiresDate.getDate - 7);
    document.cookie = "username=null; expires" + expiresDate.toUTCString();

}


}

function populateInfo(){
    if(document.cookie){
        var uname = document.cookie;
        uname = uname.substring(uname.lastIndexOf("=") + 1);
        document.getElementById("usernameinput").value = uname;

    }

}

function handleSubmit(var evt ){
    if(evt.preventDefault){
        evt.preventDefault();
    }else{
        evt.returnValue = false;
    }
    processCookie();
    document.getElementsByTagName("form")[0].submit();
}

function createEventListener(){
    var loginForm = document.getElementsByTagName("form")[0];
    if(loginForm.addEventListener){
        loginForm.addEventListener("submit",handleSubmit,false);
    }else if(loginForm.attachEvent){
        loginForm.attachEvent("onsubmit",handleSubmit,false);
    }

}

function setUpPage(){
    populateInfo();
    createEventListener();

}

if(window.addEventListener){
    window.addEventListener("load",setUpPage,false);

}else if(window.attachEvent){
    window.attachEvent("onload",setUpPage);

}

HTML:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8" />
<meta id="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0">
<title>Hands-on Project 9-2</title>
<link rel="stylesheet" href="styles.css" />
<script src="modernizr.custom.65897.js"></script>
</head>

<body>
<header>
    <h1>
        Hands-on Project 9-3
    </h1>
</header>

<article>
    <div id="errorMessage"></div>
    <form action="results.htm">
        <fieldset id="deliveryinfo">
            <legend>Site Login</legend>
            <label for="usernameinput">Username</label>
            <input type="text" id="usernameinput" name="username" />
            <label for="passwordinput">Password</label>
            <input type="password" id="passwordinput" name="password" />
            <input type="checkbox" id="rememberinput" name="remember" value="remember" />
            <label for="rememberinput" id="rememberlabel">Remember me</label>
        </fieldset>
        <fieldset id="submitbutton">
            <input type="submit" id="submitBtn" value="Login" />
        </fieldset>
    </form>
</article>
<script src="script.js"></script>
</body>
</html>

再次感谢您能提供的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 00:28:54

我建议您使用这个库js cookie,它将帮助您以一种简单的方式管理cookies

代码语言:javascript
复制
Cookies.set('name', 'value', { expires: 7 });
Cookies.get('name');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49387742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档