I am trying to extract from data for submitting it , for this I have used jquery serializeArray() function . Which works very nicely and gives output as array of { name : value } object . This name is similar as what I have given in form for each element . But I want few fields(names) in side sub document . For an example
HTML
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<form class="login">
<label for="_user_name">username:</label>
<input type="text" id="_user_name" name="user.name" value="dev.pus" />
<label for="_user_pass">password:</label>
<input type="password" id="_user_pass" name="user.pass" value="1234" />
<button type="submit">login</button>
</form>
</body>
</html>
JavaScript
var docFormParams = $("form.login"),
docData = docFormParams.serializeArray();
var finalJson ={};
for (var i = 0; i < docData.length; i++) {
finalJson[docData[i].name] = docData[i].value;
}
console.log(JSON.parse(JSON.stringify(finalJson)));
Output
[object Object] {
user.name: "dev.pus",
user.pass: "1234"
}
finalJson
[object Object] {
user.name: "dev.pus",
user.pass: "1234"
}
finalJson.user
undefined
[object Object] {
user.name: "dev.pus",
user.pass: "1234"
}
Output which I want :
{
user :{name :"dev.pus",
pass :"1234"
}
}
As you can see i have tried putting dot in name , but it doesn't work . Any approach to fix this ? Thanks