I have a form where I can add multiple form by clicking on plus button.In which I can add multiple rows by clicking on plus button next to row. Now I want to get this form data into json format. I give the form input name in array like
name="request[0]['testSectionHeader']"
name="request[0]['sortOrder']"
below is my form,
so when I am clicking on save button it is not giving me proper result
my coming result is
{
"request[0]['testSectionHeader']":"test selection header",
"request[0]['sortOrder']":"1",
"request[0]['level2'][0]['testBlockHeader']":"asdf",
"request[0]['level2'][0]['sortOrder']":"1",
"request[0]['level2'][0]['level3'][0]['designation']":"Test Condition",
"request[0]['level2'][0]['level3'][0]['size']":"Test",
"request[0]['level2'][0]['level3'][0]['condition']":"=",
"request[0]['level2'][0]['level3'][0]['volume']":"23.6",
"request[0]['level2'][0]['level3'][0]['unit']":"C",
"request[0]['level2'][0]['level3'][0]['remark']":"U6",
"request[0]['level2'][0]['level3'][0]['interface']":"test interface1"
}
but I need like this
{
"request": [
{
"testSectionHeader": "Section Header 1",
"sortOrder": "1",
"level2": [
{
"testBlockHeader": "Section Header 1 Block1",
"sortOrder": "1",
"level3": [
{
"designation": "Software engineer",
"unit": "5",
"sortOrder": "1"
},
{
"designation": "QA Manager",
"unit": "5",
"sortOrder": "2"
}
]
}
]
},
]
}
So can you please help me how can I create it, should I need to change input name or anything need to change. this is very important for me. Thanks in advance.
My code is,
$(document).ready(function(){
$('#dataform').on('submit', function(e){
e.preventDefault();
var data = {};
$("#dataform").serializeArray().map(function(x){
data[x.name] = x.value;
});
alert(JSON.stringify(data));
});
});
I have checked on google about my problem and try to make it like i want. but not possible you can check my below code. I don't know where is my fault.
Is there anyone who can help me ?