0

我怎样才能打破这样命名的字段中的输入值:

<input name="options[abc][def]">

变成类似的东西

{'options' : { 'abc' : { 'def' : value_of_input } } }

我试过

$('form').serializeArray()

但我得到了一个二维对象,其键名喜欢

选项[abc][def]

:|

4

2 回答 2

1

我找到了这个库,它正是这样做的:formToObject.js

<form id="testForm">
    <input name="options[abc][def]" value="test">
    <input type="button" value="Convert to object &raquo;" id="convertBtn">
</form>

<script src="formToObject.js"></script>
<script>
    document.getElementById('convertBtn').addEventListener('click', function() {
        console.log(new formToObject('testForm'));
        // Output: {"options":{"abc":{"def":"test"}}}
    });
</script>
于 2013-11-13T20:14:14.753 回答
1

为什么不只是这样:

HTML:

<div id="test"></div>

脚本:

var opt = {'options' : { 'abc' : { 'def' : "value" } } };
document.getElementById("test").innerHTML = '<input type="text" name="' + opt + '" placeholder="'+ opt + '"/>';

JSFIDDLE

于 2013-11-13T20:22:35.327 回答