Javascript 从动态HTML表单创建JSON
这是我的小提琴: 我希望我的JSON在点击“SaveActions”和类别为“SMS”时如下所示。我无法做到这一点 此外,表单字段随类别的更改而更改Javascript 从动态HTML表单创建JSON,javascript,jquery,html,json,Javascript,Jquery,Html,Json,这是我的小提琴: 我希望我的JSON在点击“SaveActions”和类别为“SMS”时如下所示。我无法做到这一点 此外,表单字段随类别的更改而更改 { "name": "", "category": "SMS", "description": "", "apiUrl": "", "apiMethod": "GET", "apiPayload": { "senderName": "", "number": "", "message": "" }
{
"name": "",
"category": "SMS",
"description": "",
"apiUrl": "",
"apiMethod": "GET",
"apiPayload": {
"senderName": "",
"number": "",
"message": ""
},
"@class": "action"
}
任何帮助都将不胜感激。谢谢:)将
apiPayload
移出reduce
回调函数。
并在reduce循环之后指定值
$('#saveActions').on('click', function(e) {
var apiPayload = {};
var jsonData = $('form.form-horizontal#events')
.find(':input:not(button):not(#new-option-event)').get()
.reduce(function(acc, ele) {
if (ele.closest('.payload')) {
var i = 0;
apiPayload[ele.name] = ele.value.trim();
} else {
acc[ele.name] = ele.value.trim();
}
return acc;
}, {});
jsonData['apiPayload'] = apiPayload;//assign value
jsonData['@class'] = "action";
alert(JSON.stringify(jsonData, null, 4));
});