我正在尝试在cookie中保存多个变量,并且这是代码:
function changeColors(){
//get the numbers from the html
var rd = parseInt(document.getElementById("red").value);
var gr = parseInt(document.getElementById("green").value);
var bl = parseInt(document.getElementById("blue").value);
var op = parseFloat(document.getElementById("opacity").value);
//convert the decimal into hexadecimal
var rdhex = (rd < 16) ? "0" + rd.toString(16) : rd.toString(16);
var grhex = (gr < 16) ? "0" + gr.toString(16) : gr.toString(16);
var blhex = (bl < 16) ? "0" + bl.toString(16) : bl.toString(16);
//concatenate all hex to generate a color
var hexcode = "#" + rdhex + grhex + blhex;
//view the change in the browser
document.getElementById("div").style.backgroundColor = hexcode;
document.getElementById("colordisplay").innerHTML = hexcode;
//change opacity
document.getElementById("div").style.opacity = op;
}
function WriteCookie()
{
if( document.myform.name.value == "" ){
alert("Enter some value!");
return;
}
cookievalue= escape(document.myform.red.value) + ";" +
escape(document.myform.red.value)+ ";"+
escape(document.myform.green.value)+ ";"+
escape(document.myform.blue.value)+ ";"+
escape(document.myform.opacity.value)+ ";";
document.cookie="color=" + cookievalue;
alert("Setting Cookies : " + "color=" + cookievalue );
// To revise!!!How do we set multiple values to one cookie?
function ReadCookie()
{
var allcookies = document.cookie;
alert("All Cookies : " + allcookies );
// Get all the cookies pairs in an array
cookiearray = allcookies.split(';');
我需要在Cookie中存储Name,RGB和不透明度,以便稍后用户可以选择他自己管理的以前的颜色。我的问题是如何将var hexcode和opacity与cookie中的颜色名称一起存储?
答案 0 :(得分:7)
您可以将这些值与join()
一起加入,即:
var separator = ":" // or whatever
var values = [name, rgb, opacity].join(separator);
// then you store the values in a cookie
document.cookie = "myValues=" + values;
有关在Cookie中存储值的信息,请参阅What is the "best" way to get and set a single cookie value using JavaScript