JSFiddle - React, Tailwind, and code Playground
HTML
<form action="" method="post">
first Name:<input type="text" name="first_name"/> <br/>
last name:<input type="text" name="last_name"/> <br/>
Widget URL:<input type="text" name="zip"/> <br/>
Support:<br/>
span3:<input type="checkbox" name="subjects" value="bee"/><br/>
span6:<input type="checkbox" name="subjects" value="ms"/><br/>
span12:<input type="checkbox" name="subjects" value="edc"/><br/>
<p><input type="button" id="btnsubmit" value="submit"/></p>
</form>
<pre id="json_output"></pre>
JavaScript
$(document).ready(function(){
var formObject = {};
$('#btnsubmit').click(function(){
var formInputString = $('form').serialize();
var inputParameters = formInputString.split('&');
var nameValues = [];
$.each(inputParameters,function(i){
var inputParameter = inputParameters[i].split('='); // 0 - keyName , 1 - keyValue
var keyName = inputParameter[0];
var keyValue = inputParameter[1];
if(keyName == 'subjects'){
nameValues.push({ name : keyValue});
formObject[keyName] = nameValues;
}else{
formObject[keyName] = keyValue;
}
});
var myString = JSON.stringify(formObject);
$('#json_output').text(myString);
});
});