我无法插入文本字段来创建Cookie。似乎总有一些参考错误,但我无法弄清楚原因。与w3c相比,这似乎是一个非常简化的版本,但它仍然无法正常工作。有谁知道为什么?
<div id='sandbox'>
</div>
Username: <input type='text' id='form'><br>
<button onclick="createCookie">Create a cookie</button>
<button onclick="displayCookie">Display the cookie</button>
<script>
var username = document.getElementById('form').value
function createCookie(username) {
document.cookie = "user" + "=" + username;
}
function displayCookie() {
document.getElementById('sandbox').innerHTML = document.cookie;
}
</script>
答案 0 :(得分:0)
这里有几个问题,让我们分解
<node onclick="foo" />
可以被认为与
类似node.click = function () {
foo
};
注意这里没有调用foo
。您需要使用()
或以不同方式附加它。
var bar = document.getElementById('form').value;
使用 id form
获取 Node ,查找 value 属性,然后复制一份称之为bar
。在您执行bar = ...
function fizz(bar) {
return bar;
}
fizz();
虽然在此函数之前可能已定义bar
,但参数名为bar
会将其隐藏在fizz
内,因此bar
内的fizz
可以只是作为第一个参数传递的内容,而不是来自更高范围的bar
。
var buzz = document.cookie;
document.cookie
不是您所期望的简单属性,当您尝试获取时,您实际上会获得每个 Cookie。