表单 Post 数据 - 保存到 Cookie - 从 Cookie 读取
Form Post Data - Save to Cookie - Read from Cookie
我有一个简单的 html 表单,其中包含大约 20-30 个字段,其中有两个按钮,一个是 "Save",另一个是 "Load"。
我正在尝试找到一种方法,使我可以 运行 两个函数,一个将表单上的所有字段保存为 cookie,另一个将所有字段从 cookie 加载回表单.
我已经设法将表单中的各个参数保存为 cookie,但我无法在数组中执行此操作。此外,我似乎无法调出我尝试过的每个已保存参数 getcookie
,但这不起作用,我必须使用 document.cookie
,因为 setcookie
也不起作用。
document.cookie="firstname="+document.getElementById('firstname').value+"; expires=Thu, 18 Dec 2019 12:00:00 UTC";
document.cookie="secondname="+document.getElementById('secondname').value+"; expires=Thu, 18 Dec 2019 12:00:00 UTC";
您使用什么方法将 cookie 值设置为数组? document.cookie 方法应该只接受字符串。下面是设置和获取 cookie 数组的简单方法:
function setCookieArray(cname, arrayValues, exdays) {
var expires = "";
if (exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
expires = ";expires="+ d.toUTCString();
}
var json_str = JSON.stringify(arrayValues);
document.cookie = cname + "=" + json_str + expires + ";path=/";
}
function getCookieArray(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.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 JSON.parse(c.substring(name.length, c.length));
}
}
return "";
}
您可以这样设置cookie:
setCookieArray("myTest1", ["a","b","c","d"], 3); //expires in 3 days
并像这样获取 cookie 数组:
getCookieArray("myTest1");
我有一个简单的 html 表单,其中包含大约 20-30 个字段,其中有两个按钮,一个是 "Save",另一个是 "Load"。
我正在尝试找到一种方法,使我可以 运行 两个函数,一个将表单上的所有字段保存为 cookie,另一个将所有字段从 cookie 加载回表单.
我已经设法将表单中的各个参数保存为 cookie,但我无法在数组中执行此操作。此外,我似乎无法调出我尝试过的每个已保存参数 getcookie
,但这不起作用,我必须使用 document.cookie
,因为 setcookie
也不起作用。
document.cookie="firstname="+document.getElementById('firstname').value+"; expires=Thu, 18 Dec 2019 12:00:00 UTC";
document.cookie="secondname="+document.getElementById('secondname').value+"; expires=Thu, 18 Dec 2019 12:00:00 UTC";
您使用什么方法将 cookie 值设置为数组? document.cookie 方法应该只接受字符串。下面是设置和获取 cookie 数组的简单方法:
function setCookieArray(cname, arrayValues, exdays) {
var expires = "";
if (exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
expires = ";expires="+ d.toUTCString();
}
var json_str = JSON.stringify(arrayValues);
document.cookie = cname + "=" + json_str + expires + ";path=/";
}
function getCookieArray(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.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 JSON.parse(c.substring(name.length, c.length));
}
}
return "";
}
您可以这样设置cookie:
setCookieArray("myTest1", ["a","b","c","d"], 3); //expires in 3 days
并像这样获取 cookie 数组:
getCookieArray("myTest1");