Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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_Javascript Objects - Fatal编程技术网

Javascript 从动态图表对象保存文本框值

Javascript 从动态图表对象保存文本框值,javascript,html,javascript-objects,Javascript,Html,Javascript Objects,我一直在尝试保存附加到动态创建的图表对象的文本框的值,但即使使用localStorage,它也不起作用 请原谅代码的混乱,但是如果你添加一个图表,它会在旁边创建一个文本框,但是它不会保存其中的任何内容。 function createChart(dynamicData = '',number ='',dynamicval= '') { $('#super').append('<div id="bton"><button type="button" class="desi

我一直在尝试保存附加到动态创建的图表对象的文本框的值,但即使使用localStorage,它也不起作用

请原谅代码的混乱,但是如果你添加一个图表,它会在旁边创建一个文本框,但是它不会保存其中的任何内容。
function createChart(dynamicData = '',number ='',dynamicval= '') {
    $('#super').append('<div id="bton"><button type="button" class="design_button" id="chart_'+number+'">&#10006</button><input id="text'+number+'" type = "textbox"/><div id="settings'+number+'"></div></div>');
    var value = document.getElementById("text"+number).value;
      localStorage.setItem("input",value);
    if(dynamicData == ''){

      var storeData = {
        'csvURL' : urlInput.value,
        'firstRowAsNames' : false,
      };
      localStorage.setItem('chart_'+number, JSON.stringify(storeData));
    }else{
      var storeData = dynamicData;
      var value = dynamicval;
      numbercnt = localStorage.getItem('chart_total');
    }

    var chartData = {
      csvURL: ipaddress + storeData.csvURL + extension,
      firstRowAsNames: storeData.firstRowAsNames,
      complete: function(csv) {
        csv.series[0].data.forEach(function(point, i) {
          csv.series[0].data[i] = {
            x: point[0],
            y: point[1],
            customInfo: csv.series[1].data[i][1]
          }

        })
        csv.series.pop()
      }
    };


    Highcharts.chart('settings' + number,{
      chart: {
        type: 'line'
      },
      title: {
        text: storeData.csvURL + ' Slip'
      },
      dateTimeLabelFormats: {
        millisecond: '%H:%M:%S.%L',
        second: '%H:%M:%S',
        minute: '%H:%M',
        hour: '%H:%M',
        day: '%e. %b',
        week: '%e. %b',
        month: '%b \'%y',
        year: '%Y'
      },
      data: chartData,
      series: [{
        name: 'Slip'
      }],

      yAxis: {

        plotLines: [{
          value: 0,
          color: 'black',
          width: 2,
          zIndex: 1
        }]

      },
      plotOptions: {
        series: {
          color: 'red',
          negativeColor: 'green'
        }
      },
      tooltip: {
        pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>Last Updated: <b>{point.customInfo}</b>'


      }
    });





    numbercnt++;
    localStorage.setItem('chart_total', numbercnt);

  }
函数createChart(dynamicata='',number='',dynamicval=''){
$('#super')。追加('✖');
var value=document.getElementById(“文本”+number).value;
setItem(“输入”,值);
如果(动态CDATA==''){
变量存储数据={
“csvURL”:urlInput.value,
“firstRowAsNames”:false,
};
localStorage.setItem('chart_'+number,JSON.stringify(storeData));
}否则{
var storeData=dynamicata;
var值=动态var;
numbercnt=localStorage.getItem('chart_total');
}
var图表数据={
csvURL:ipaddress+storeData.csvURL+扩展名,
firstRowAsNames:storeData.firstRowAsNames,
完成:功能(csv){
csv.series[0].data.forEach(函数(点,i){
csv.series[0]。数据[i]={
x:点[0],
y:第[1]点,
customInfo:csv.series[1].数据[i][1]
}
})
csv.series.pop()
}
};
Highcharts.chart('设置'+编号{
图表:{
类型:“行”
},
标题:{
文本:storeData.csvURL+“Slip”
},
日期时间标签格式:{
毫秒:“%H:%M:%S.%L”,
第二个:“%H:%M:%S”,
分钟:“%H:%M”,
小时:“%H:%M”,
日期:'%e.%b',
周:'%e.%b',
月份:'%b\'%y',
年份:'%Y'
},
数据:图表数据,
系列:[{
姓名:'Slip'
}],
亚克斯:{
绘图线:[{
值:0,
颜色:'黑色',
宽度:2,
zIndex:1
}]
},
打印选项:{
系列:{
颜色:“红色”,
负片颜色:“绿色”
}
},
工具提示:{
pointFormat:“\u25CF{series.name}:{point.y}
上次更新:{point.customInfo}” } }); numbercnt++; localStorage.setItem('chart\u total',numbercnt); }
上面是创建图表的时间,下面是加载图表的时间

function loadDynamicData(){
    var length =  localStorage.getItem('chart_total');
    for(var i =1;i<=length ;i++){
      if(localStorage.getItem('chart_'+i)){
        var dynamicData = JSON.parse(localStorage.getItem('chart_'+i));
        console.log(dynamicData)
        createChart(dynamicData,i);
        var dynamicval =localStorage.getItem("input");
        console.log(dynamicval)
        //if(localStorage.getItem("input") === null){
        //  return "";
        //}
        //return localStorage.getItem("input");
      }
    }
  }
  loadDynamicData();
});
函数loadDynamicData(){
var length=localStorage.getItem('chart_total');

对于(var i=1;i您在哪里设置文本框的值?当您创建它时,它有空文本,这就是您在localstorage中读取和设置的内容,它将仅为空。(createChart方法中的第1-3行).是的,这似乎是问题所在,我的目的是在创建图表后对其进行设置,并在编辑后对其进行编辑并保存到localstorage。您需要在输入更改事件处理程序中执行此操作。我尝试将事件处理程序放在附加中,但它没有引用函数,而是出现了一个错误,没有引用Don't do't do。在第二行中,您获得元素并在那里分配变更处理程序。