设置cookie并显示cookie的值

时间:2015-04-02 07:18:51

标签: javascript cookies

我正致力于在Cookies中存储和阅读信息。所以基本上我有两个带有名称字段的HTML页面。在第1页,我必须阅读该字段并将值保存到cookie中。然后提交,它将转到第2页,读取cookie并显示我在第1页上输入的名称。但是,我无法显示第2页第1页的值。这是我的代码:

第1页:

<html>
<head>
<title>Save Value</title>
    <script type="text/javascript">
        function setCookie(cname, cvalue) {
            document.cookie = cname + "=" + cvalue + "; ";
        }
    </script>
</head>
<body>
<form action="display.html" method="get">
<label> 
First Name:
<input name="name" size="20" maxlength="25" type="text" id="name" />
</label>
<input type="submit" value="submit" onclick="setCookie()" />
</form>
</body>
</html> 

第2页:

    <html>
    <head>
    <title>Display</title>
    <script type="text/javascript">
    function readCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
    }
    return "";
}
</script>
    </head>

    <body>
    <form action="#">
    <label>
    First Name:
    <input name="namefield" size="20" maxlength="25" type="text" id="name" readonly="readonly" />
    </label>
    <script type="text/javascript">
    var val1 = document.getElementById("name").value;
    val1 = readCookie('namefield');
    </script>
    </form>
    </body>
    </html>

对这个问题有什么看法吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

您调用不带参数的setCookie()

<input type="submit" value="submit" onclick="setCookie('name', document.getElementById('name').value)" />

然后你读取cookie和设置值的代码也是错误的,尝试检查jsfiddle,在一页上做所有事情http://jsfiddle.net/ApfJz/44/

以下列方式获取cookie并设置值

       <input type="submit" value="Get cookie" onclick="document.getElementById('name2').value = readCookie('name')" />

您的代码根本没有设置值并且读取错误的Cookie名称

var val1 = document.getElementById("name").value;
val1 = readCookie('namefield');

所以在你的第2页上它可以像那样工作

document.getElementById('name').value = readCookie("name");