Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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 从本地存储打印对象_Javascript_Html_Json_Printing_Printjs - Fatal编程技术网

Javascript 从本地存储打印对象

Javascript 从本地存储打印对象,javascript,html,json,printing,printjs,Javascript,Html,Json,Printing,Printjs,我有一个费用表,可以将数据保存到浏览器的本地存储中。我在表格下方的页面上有一个按钮,这样在您填写表格后,您就可以单击以一种好的格式打印数据 由于我的应用程序的功能,我必须在本地存储中使用JSON数据 我正在使用js变量从本地存储中获取数据: var my_expenses = localStorage.getItem('my_expenses'); 这是“我的浏览器本地存储”中的条目,带有未统一的值 关键:我的费用 价值: 根据Print.js,您可以像这样打印JSON数据(包括我的变量和我的

我有一个费用表,可以将数据保存到浏览器的本地存储中。我在表格下方的页面上有一个按钮,这样在您填写表格后,您就可以单击以一种好的格式打印数据

由于我的应用程序的功能,我必须在本地存储中使用JSON数据

我正在使用js变量从本地存储中获取数据:

var my_expenses = localStorage.getItem('my_expenses');
这是“我的浏览器本地存储”中的条目,带有未统一的值

关键:我的费用 价值:

根据Print.js,您可以像这样打印JSON数据(包括我的变量和我的本地存储数据):

我想这可能是本地存储中JSON的结构?。任何帮助都将不胜感激


尝试使用JSON.parse()如下所示:

在添加JSON解析之前。我得到了wrror,这是控制台中本地存储的输出

在我添加后,这是输出,打印按钮似乎起作用:

但是打印对话没有数据


对象的创建方式和本地存储功能:

//Set the default incomes and outgoings here
var defaultsObj = {
    'income':{
        1:{name:"Pay (after tax)",freq:52,value:0},
        2:{name:"Partners take home pay",freq:4,value:0},
        3:{name:"Bonuses/overtime",freq:26,value:0},
        4:{name:"Income from savings and investments",freq:1,value:0},
        5:{name:"Child support received ",freq:12,value:0}
    },'outgoings':{
        1:{name:"Electricity",freq:4,value:0},
        2:{name:"Gas",freq:4,value:0},
        3:{name:"Water",freq:4,value:0},
        4:{name:"Internet",freq:4,value:0},
        5:{name:"Telephone",freq:4,value:0},
        6:{name:"Car Insurance",freq:1,value:0}
    }
};  

//Functions to store and retrieve objects from localstorage
function ls_store(name,o){
    localStorage.setItem(name, JSON.stringify(o));          
};
function ls_read(name){
    return JSON.parse(localStorage.getItem(name));
};  

function set_defaults(){
    ls_store('my_expenses',defaultsObj);
    expensesObj = ls_read('my_expenses'); 
}
//If our localstroage items are empty let's store the defaults
if(ls_read('my_expenses')==null){
    set_defaults();
}

您不保存数组,printjs等待数组

尝试保存到两个不同的数组中,首先,将结果保存到pdf中


如果第一个数组显示数据,则必须:调用两次printjs,一次用于第一个数组,另一次用于第二个数组,或者将这两个数组合并为一个数组,如果是incombe或output,则可能会在disting中添加属性

您不保存数组,printjs等待数组

尝试保存到两个不同的数组中,首先,将结果保存到pdf中


如果第一个数组显示数据,则必须:调用两次printjs,一次用于第一个数组,另一次用于第二个数组,或者将这两个数组合并为一个数组,如果是incombe或output,则可能会在disting中添加属性

尝试使用JSON.parse(localStorage.getItem(“my_expenses”)?嘿,chris,试过了buddy会用输出更新主要答案,虽然有点效果,但不完全。您是否尝试使用:localStorage.setItem('my_expenses',JSON.stringify(my_expenses_object))?是的,就像那样设置你是如何存储我的物品的?它是一个数组吗?printJS正在等待一个数组,但您的localStorage似乎有一个JSON对象尝试使用JSON.parse(localStorage.getItem(“my_expenses”)?嘿,chris,试过了buddy会用输出更新主要答案,虽然有点效果,但不完全。您是否尝试使用:localStorage.setItem('my_expenses',JSON.stringify(my_expenses_object))?是的,就像那样设置你是如何存储我的物品的?它是一个数组吗?printJS正在等待阵列,但您的本地存储似乎有一个JSON对象嘿Chris我只想感谢您花时间帮助我,我真的很感激。嘿Chris我只想感谢您花时间帮助我,我真的很感激。
 <button type="button" onclick="printJS({printable: my_expenses, properties: ['name', 'freq', 'value'], type: 'json'})">
Print JSON Data
Uncaught Error: Missing printable information.
at init (print.min.js:1)
at HTMLButtonElement.onclick ((index):156)
var my_expenses = JSON.parse(localStorage.getItem("my_expenses"));
//Set the default incomes and outgoings here
var defaultsObj = {
    'income':{
        1:{name:"Pay (after tax)",freq:52,value:0},
        2:{name:"Partners take home pay",freq:4,value:0},
        3:{name:"Bonuses/overtime",freq:26,value:0},
        4:{name:"Income from savings and investments",freq:1,value:0},
        5:{name:"Child support received ",freq:12,value:0}
    },'outgoings':{
        1:{name:"Electricity",freq:4,value:0},
        2:{name:"Gas",freq:4,value:0},
        3:{name:"Water",freq:4,value:0},
        4:{name:"Internet",freq:4,value:0},
        5:{name:"Telephone",freq:4,value:0},
        6:{name:"Car Insurance",freq:1,value:0}
    }
};  

//Functions to store and retrieve objects from localstorage
function ls_store(name,o){
    localStorage.setItem(name, JSON.stringify(o));          
};
function ls_read(name){
    return JSON.parse(localStorage.getItem(name));
};  

function set_defaults(){
    ls_store('my_expenses',defaultsObj);
    expensesObj = ls_read('my_expenses'); 
}
//If our localstroage items are empty let's store the defaults
if(ls_read('my_expenses')==null){
    set_defaults();
}