2017-08-31 3 views
0

フォームデータを目的の構造内のオブジェクトに取得できません。現在、この形式で返します。フォームデータを別のオブジェクトにオブジェクトとして追加

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

+3

'{{name1:{}}、{name2:{}}、{name3 {}}}'は有効な構文ではありません。 – str

+0

その答えは正しい方向に私を指摘しました、ありがとう! –

+0

@JuanArciniegaあなたのコメントは、私があなたが問題を解決したと思うようにします。もしそうなら、それを反映するように質問を編集するか、答えの1つに合格とマークする(正しいものがあれば)ので、将来この質問の視聴者が時間を無駄にしないようにする必要があります。 – jonahe

答えて

0

を試してみて、値。オブジェクトは、その値のキーも持たずに(オブジェクトについてのように)値を含むことはできません(それについて考えると、どうやってそれにアクセスしますか?)。

だから、{ {name1:{}}, {name2:{}}, {name3{}} }はできません。

オブジェクトごとにキーを持つことに気にしない場合は、代わりに配列を使用することをおすすめしますか? [ {name1:{}}, {name2:{}}, {name3: {}} ]

+1

ありがとう@jonahe。私はあなたの代わりに配列を使用する提案を使用して終了しました。これは私がこれを使用しているプロジェクトではうまくいきました。 –

+0

それはうまくいってうれしい! :) – jonahe

0

これはあなたが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)); 
}; 

を含むキーとしてnameを作る方法であるオブジェクトは、キーのコレクションとして見ることができるこの https://jsbin.com/vanusapixu/1/edit?html,js,console,output

関連する問題