设置cookie并显示cookie的值

Set cookie and display the value of cookie

我正在致力于在 Cookie 中存储和读取信息。所以基本上我有两个 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>

知道这个问题吗?非常感谢!

你调用了不带参数的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");