Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建带有输入字段的cookie接口?(多个值)和来自任何域?_Javascript_Jquery_Cookies - Fatal编程技术网

Javascript 创建带有输入字段的cookie接口?(多个值)和来自任何域?

Javascript 创建带有输入字段的cookie接口?(多个值)和来自任何域?,javascript,jquery,cookies,Javascript,Jquery,Cookies,出于测试目的,我希望能够根据需要创建cookie 我使用的cookies的格式如下: A0A60B1381:ASD887DSFFSDF:SD8F89SD7F89SD7 使用任何通用名称 如果cookie存在,我需要读取它的当前值(或者创建一个具有该名称的cookie),将值拆分为单独的输入字段,能够编辑这些输入字段,并写入cookie。(如果需要,可能会销毁cookie的当前值) 最好的方法是什么 更新: 多亏了Abdullah,我现在有了这段代码——但是,它并没有从其他域获取cookie。因此

出于测试目的,我希望能够根据需要创建cookie

我使用的cookies的格式如下: A0A60B1381:ASD887DSFFSDF:SD8F89SD7F89SD7 使用任何通用名称

如果cookie存在,我需要读取它的当前值(或者创建一个具有该名称的cookie),将值拆分为单独的输入字段,能够编辑这些输入字段,并写入cookie。(如果需要,可能会销毁cookie的当前值)

最好的方法是什么

更新:

多亏了Abdullah,我现在有了这段代码——但是,它并没有从其他域获取cookie。因此,我需要它从任何域中提取cookie-“垃圾”,并跨域写入它,并带有过期日期。在这种情况下,我该怎么做

 <script>
        $(document).ready(function() {

        var val = $.cookie('junk');
        var arr = val.split(':');
             $('#Cookie_input0').val(arr[0]); // set value of input element
            $('#Cookie_input1').val(arr[1]); // set value of input element
            $('#Cookie_input2').val(arr[2]); // set value of input element
            $('#Cookie_input3').val(arr[3]); // set value of input element
            $('#Cookie_input4').val(arr[4]); // set value of input element
            $('#Cookie_input5').val(arr[5]); // set value of input element
        $('#Submit').click(function() {
            //recreate arr from input elements
            var arr = [];
            $('input.cookieJr').each(function() {
                arr.push($(this).val());
            });
            // set cookie
            var val = arr.join(':');
            $.cookie('junk', val); // write the cookie back out
        });
        });

    </script>

$(文档).ready(函数(){
var val=$.cookie(“垃圾”);
var arr=val.split(“:”);
$('#Cookie_input0').val(arr[0]);//设置输入元素的值
$('#Cookie_input1').val(arr[1]);//设置输入元素的值
$('#Cookie_input2').val(arr[2]);//设置输入元素的值
$('#Cookie_input3').val(arr[3]);//设置输入元素的值
$('#Cookie_input4').val(arr[4]);//设置输入元素的值
$('#Cookie_input5').val(arr[5]);//设置输入元素的值
$(“#提交”)。单击(函数(){
//从输入元素重新创建arr
var-arr=[];
$('input.cookieJr')。每个(函数(){
arr.push($(this.val());
});
//设置cookie
var val=arr.join(“:”);
$.cookie('junk',val);//将cookie写回
});
});


使用:

例如:

var val = $.cookie('the_cookie') || 'A0A60B1381:ASD887DSFFSDF:SD8F89SD7F89SD7';
var arr = val.split(':');
arr[0] = "NEW_VAL";
val = arr.join(':');
$.cookie('the_cookie', val); // write the cookie back out
更新

我认为您正在尝试动态编辑cookie,这应该可以:

// after reading cookie as described above, should be inside a $(document).ready()
$('#ID_OF_INPUT_ELEMENT').val(arr[0]); // set value of input element

// once input element has been set and some 'submit' button clicked
$('#ID_OF_SUBMIT_BUTTON').click(function() {
    //recreate arr from input elements
    var arr = [];
    $('input.some_class_they_all_share').each(function() {
        arr.push($(this).val());
    });
    // set cookie
    var val = arr.join(':');
    $.cookie('the_cookie', val); // write the cookie back out
});

看起来不错。我假设这一位:“arr[0]=“NEW_VAL”;“是我将拉出每个值,将值写入输入字段,然后将它们拉回到一起的地方。关于如何实现这一点有什么建议吗?如果你说你希望加载在domain1中的javascript能够从domain2访问cookies,那么由于浏览器安全限制,这是不可能的。
var val = $.cookie('the_cookie') || 'A0A60B1381:ASD887DSFFSDF:SD8F89SD7F89SD7';
var arr = val.split(':');
arr[0] = "NEW_VAL";
val = arr.join(':');
$.cookie('the_cookie', val); // write the cookie back out
// after reading cookie as described above, should be inside a $(document).ready()
$('#ID_OF_INPUT_ELEMENT').val(arr[0]); // set value of input element

// once input element has been set and some 'submit' button clicked
$('#ID_OF_SUBMIT_BUTTON').click(function() {
    //recreate arr from input elements
    var arr = [];
    $('input.some_class_they_all_share').each(function() {
        arr.push($(this).val());
    });
    // set cookie
    var val = arr.join(':');
    $.cookie('the_cookie', val); // write the cookie back out
});