将表单数据作为对象添加到另一个对象中

时间:2017-08-31 16:29:08

标签: javascript forms object

我无法将表单数据转换为我想要的结构中的对象。目前它以这种格式返回:

mainObject = { name1:{}, name2:{}, name3{} }

我想要实现的是

mainObject = { {name1:{}}, {name2:{}}, {name3{}} }

我的js:

var users = {};

function formSubmit(){
    var name = $("#name").val();
    var age = $("#age").val();
    var zip = $("#zip").val();

    users[name] = {};
    users[name].age = age;
    users[name].zip = zip;
  console.log(users);
};

如果有帮助,我有一个垃圾箱,谢谢!

https://jsbin.com/bofohabahu/1/edit?html,js,console,output

2 个答案:

答案 0 :(得分:0)

这就是name作为包含agezip

的键的方法
    var users = {};

    function formSubmit(){
    var name = $("#name").val();
    var age = $("#age").val();
    var zip = $("#zip").val();

     users[name] = {

     age: age,
    zip: zip

     };
console.log(JSON.stringify(users));
}; 

试试这个 https://jsbin.com/vanusapixu/1/edit?html,js,console,output

答案 1 :(得分:0)

对象可以看作是键和值的集合。对象不能包含值(如对象)而不具有该值的键(考虑一下,如何访问它?)。

这就是{ {name1:{}}, {name2:{}}, {name3{}} }无法实现的原因。

如果您不关心每个对象的密钥,那么我可以建议使用数组吗? [ {name1:{}}, {name2:{}}, {name3: {}} ]