0

我正在尝试创建一个 cookie 来保存;

姓名、电子邮件、电话号码、工作(列表中的选择/字段中的文本)和两个 iphone 类型的切换按钮的状态,然后在用户下次查看时全部加载到页面中,

我绝望地卡住了。我找不到一个网站可以帮助我清楚地解释它。任何帮助都会很棒,谢谢x

4

4 回答 4

0

你可能需要一个这样的插件:https ://github.com/ScottHamper/Cookies

或包含此脚本

/**
 * jQuery Cookie plugin
 *
 * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie = function (key, value, options) {

    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        value = String(value);

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};

用途:

var selector = $('#name');
$.cookie("thename", selector, { path: '/' });
console.log(selector);
于 2012-10-02T15:08:04.750 回答
0

我一直在使用 jquery cookie https://github.com/carhartl/jquery-cookie这使得写入和读取 cookie 变得非常容易。

于 2012-10-02T15:08:59.737 回答
0

如果你知道jQuery,你应该使用这个插件:jquery.cookie

用法 :

设置 cookie 1:$.cookie('the_cookie', 'the_value');

设置 cookie 2:$.cookie('the_cookie', 'the_value', { expires: 7 });

获取饼干:$.cookie('the_cookie');

删除 cookie:$.removeCookie('the_cookie');

编辑

让我们采用这个 HTML 表单:

<form method="post" action="somefile.php" id="mygreatform">

    <input type="text" name="name" id="name"/>
    <input type="text" name="email" name="email"/>
    <input type="text" name="phone" name="phone"/>

    <select name="job" id="job">
        <option value="job1">Job 1</option>
        <option value="job2">Job 2</option>
    </select>

</form>

我们在 javascript 中捕获表单提交事件,以便将所有输入值序列化为一个 JSON 字符串,并将此字符串存储在 cookie 中:

$('#mygreatform').submit(function()
{
    var formValues = {
        'name' : document.getElementById('name'),
        'email' : document.getElementById('email'),
        'phone' : document.getElementById('phone'),
        'job' : document.getElementById('job')
    };

    // Create JSON string : {"name":"...","email":"...","phone":"...","job":"..."}
    // "..." are all user inputs
    var formValuesStr = JSON.stringify(formValues);

    // expires 14 days from then
    $.cookie('cookie_name', formValuesStr, { expires: 14 });
});

在另一个页面上,我们将尝试读取 cookie:

$(document).ready(function()
{
    var formValuesStr = $.cookie('cookie_name');

    if(formValuesStr != null)
    {
        var formValues = JSON.parse(formValuesStr);

        alert('User email : ' + formValues['email']);
    }
});
于 2012-10-02T15:11:48.693 回答
0

这是使用纯 javascript 设置 cookie 的方法

document.cookie = "cookieName=cookieValue";

将为当前域设置 cookie。您必须在某些服务器上运行此代码。如果您只是在浏览器中打开一个 html 文件,cookie 将不起作用

于 2012-10-02T15:25:32.170 回答