我正致力于在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>
对这个问题有什么看法吗?非常感谢你!
答案 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");