Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从动态HTML表单创建JSON_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 从动态HTML表单创建JSON

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": "" }

这是我的小提琴:

我希望我的JSON在点击“SaveActions”和类别为“SMS”时如下所示。我无法做到这一点

此外,表单字段随类别的更改而更改

{
  "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));
});