Javascript 将输入字段中的动态值存储在JS对象中,并转换为JSON 如何将两个HTML字段中的两个值添加到JS对象 然后如何将该对象转换为JSON

Javascript 将输入字段中的动态值存储在JS对象中,并转换为JSON 如何将两个HTML字段中的两个值添加到JS对象 然后如何将该对象转换为JSON,javascript,jquery,json,Javascript,Jquery,Json,代码: 试试这个: 在HTML中添加提交按钮。并在按钮点击时执行以下操作 HTML代码 <button id="submitButton">Save Values</button> 您的代码(将选择器置于引号中)将成功地在数组中存储属性为title和email的对象。然后该数组将有资格进行垃圾收集,因为您没有在函数之外的任何地方保留对它的引用 如果您的目标是跟踪信息的时间长于每个循环的一次迭代,则在函数外部声明并初始化数组: var arr=[]; $("input")

代码:

试试这个:

在HTML中添加提交按钮。并在按钮点击时执行以下操作

HTML代码

<button id="submitButton">Save Values</button>
您的代码(将选择器置于引号中)将成功地在数组中存储属性为
title
email
的对象。然后该数组将有资格进行垃圾收集,因为您没有在函数之外的任何地方保留对它的引用

如果您的目标是跟踪信息的时间长于
每个
循环的一次迭代,则在函数外部声明并初始化数组:

var arr=[];
$("input").each(function() {         
    var id = $("#box1").val();
    var email = $("#box2").val();
    item = {};
    item ["title"] = id;
    item ["email"] = email;
    arr.push(item);  
});

但我无法立即看出您在页面上循环使用
input
元素时重复这样做的原因。

JSON是一种文本表示法。如果您处理的是内存中的对象,那么您就不是在处理JSON。您需要在选择器
$('#box1')
周围加上引号,还要注意,您的变量名是
jsonObj
,但它实际上是一个数组。那么如何在javascript中动态地将值推入JSON,您不需要将任何内容推入JSON,而是创建一个对象,如果要向数组添加元素或向对象添加属性,请使用
item
对象或
jsonObj
变量等数组,然后对其进行字符串化以获得JSON字符串
JSON.stringify(myobject)
JSON.stringify(myarray)
,您已经在考虑将JSON作为内存中javascript对象的文本表示。在这段代码中,jsonObj的行为类似于对象的数组或JSON数组,我对JSON对象有很多误解,它的行为类似于JSON对象的数组。
var jsonObj=jsonObj | |[]完全没有意义。这不像
jsonObj
在那一点上会有一个值。(T.J.Crowder)我怎样才能在另一个函数中显示对象数组中存储的值?@zet:如果在显示输入之前调用了循环输入的代码,并且页面上有输入,
arr
将包含一些内容。我建议您从当前任务中退一步,学习一些基本的JavaScript教程。
$("#submitButton").on('click',function() { 
    var jsonObj=  jsonObj || [];        
    var id = $("#box1").val();
    var email = $("#box2").val();
    item = {};
    item ["title"] = id;
    item ["email"] = email;
    jsonObj.push(item);  
});
var arr=[];
$("input").each(function() {         
    var id = $("#box1").val();
    var email = $("#box2").val();
    item = {};
    item ["title"] = id;
    item ["email"] = email;
    arr.push(item);  
});