2012-10-15 72 views
3

我已经创建了具有相同名称的多个字段的表单:如何从具有相同名称的字段的表单创建JSON文件?

<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

你的语法有第9行一个小问题,你在哪里使用数组中的键值对。也在其他地方。 –

回答

0

没有任何办法从这个序列化JSON; 尝试创建简单地说,像这样的:

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

(看adding-removing-items-from-json-data-with-jquery形式更加指令)

+0

这似乎是一个好主意......但我有一些问题要获取字段:http://jsfiddle.net/sxGtM/2499/ – Gore

+0

这是** jquery代码**,您应该在' $(document).ready(function(){/ * codes here * /}'look at [this fiddle](http://jsfiddle.net/sxGtM/2502/) – mhdrad

相关问题