如何从具有相同名称的字段的表单创建JSON文件?

时间:2012-10-15 08:06:46

标签: jquery json forms field

我创建了一个包含多个具有相同名称的字段的表单:

<form ... >
<input type=text name="problem"  value="problem1" />
<input type=text name="question" value="question1" />
<input type=text name="answer"   value="answer1" />

<input type=text name="problem"  value="problem2" />
<input type=text name="question" value="question1" />
<input type=text name="answer"   value="answer1" />
<input type=text name="question" value="question2" />
<input type=text name="answer"   value="answer1" />
<input type=text name="answer"   value="answer2" />
...
<input type=hidden name="jsonString" value="" />

<input type=submit value="Send" />
</form>

这些字段可以通过javascript动态添加/删除

我想在隐藏字段中输入一个字符串(使用JSON.strinfigy)并在提交前将其传递给表单:

{
    problem: [  
        {   
            name: problem 1, 
            question: [
                {
                    name: question 1,
                    answer: [
                        name:answer1
                    ]
                }
            ]
        },

        {   
            name: problem 2, 
            question: [
                {
                    name: question 1,
                    answer: [
                        name:answer1
                    ]
                },  
                {
                    name: question 2,
                    answer: [
                        name:answer1,
                        name:answer2
                    ]
                }   
            ]
        }       
    ]
}

有什么想法吗? 感谢

罗布

1 个答案:

答案 0 :(得分:0)

没有任何方法可以从中序列化json; 尝试简单地创建,如下所示:

var myJson;
$("input[name=problem]").each(function(){
   myJson.Push( { "name": $this.val()});
});

(查看adding-removing-items-from-json-data-with-jquery表格更多指示)