The below code returns [ ] in the console:
var postdata = {};
$.each($('#form').serializeArray(), function() {
postdata[this.name] = this.value;
});
var postdataarray = [];
var pnr = parseInt($("#field").val().replace("-","")); //is a number after the hyphen removed
postdataarray[pnr] = {};
postdataarray[pnr]["formdata"] = postdata;
console.log(postdataarray);
But changing var pnr to 100 just for testing returns the array/object ok. What am I not understanding?
Below is ok
var postdata = {};
$.each($('#form').serializeArray(), function() {
postdata[this.name] = this.value;
});
var postdataarray = [];
var pnr = 100; //changed for testing
postdataarray[pnr] = {};
postdataarray[pnr]["formdata"] = postdata;
console.log(postdataarray);
Edit: My goal is to create an object from form data but adding a key before the form data, such as:
{"100":{formdata: {field1:value1, field2:value2, etc... } }