在创建Cookie时需要帮助

时间:2010-11-13 16:47:14

标签: javascript cookies

我有一个名为的按钮,另一个名为 no

<input type="button" name="yes" onclick="button()">
<input type="button" name="no">

我想在点击时创建一个cookie,它会存储信息“YES”并需要在7天后过期。我怎么做? cookie需要存储的唯一信息是“是”。

2 个答案:

答案 0 :(得分:3)

您可以使用document.cookie

var expDate = new Date();
expDate.setDate(expDate.getDate() + 7);
document.cookie = 'your_cookie_name=YES;expires=' + expDate.toUTCString();

或者如果您使用的是jquery,可以查看Cookie plugin。这是一个example

答案 1 :(得分:1)

这是我使用的

var cookie = {
    "create": function(name, value, days) {
        if (typeof days !== 'number' || typeof name !== 'string' || typeof value !== 'string') {
            return false;
        }
        var date = new Date();
        date.setTime(date.getTime() + (days*86400000));
        document.cookie = name + '=' + value + '; expires=' + date.toGMTString() + '; path=/';
    },
    "read": function(name) {
        var cookie = document.cookie,
            i, val = false;
        cookie = cookie.split(';');
        for (i = 0; i < cookie.length; i++) {
            if (cookie[i].indexOf(name) !== -1) {
                while (cookie[i].indexOf(name) > 0 && cookie[i].length > name.length) {
                    cookie[i] = cookie[i].substr(1);
                }
                val = cookie[i].substr(name.length + 1);
            }
        }
        return val;
    },
    "erase": function(name) {
        this.create(name, '', -1);
    }
};

然后您可以使用:

cookie.create("userName", "Bill", 7); // store userName "Bill" for 7 days.

cookie.read("userName"); // "Bill"

cookie.erase("userName"); 

这是一个小提琴,看看它是如何工作的。 http://jsfiddle.net/robert/4vLT6/