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

Posted

技术标签:

【中文标题】如何从具有相同名称的字段的表单创建 JSON 文件?【英文标题】:how create a JSON file from a form with fields with the same name? 【发布时间】:2012-10-05 04:27:16 【问题描述】:

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

<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
                    ]
                   
            ]
               
    ]

有什么想法吗? 谢谢

罗伯

【问题讨论】:

您的语法在第 9 行有一个小问题,您在数组中使用了键值对。在其他地方也是如此。 【参考方案1】:

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

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

(查看adding-removing-items-from-json-data-with-jquery 形成更多说明)

【讨论】:

这似乎是个好主意......但我在获取这些字段时遇到了一些问题:jsfiddle.net/sxGtM/2499 这是jquery代码,你应该在$(document).ready(function() /*codes here*/ 写javascript代码看this fiddle

以上是关于如何从具有相同名称的字段的表单创建 JSON 文件?的主要内容,如果未能解决你的问题,请参考以下文章

mysql php从2个表中选择字段,具有相同的字段名称[重复]

如何使用多个具有相同名称的表单输入?

具有相同名称属性的输入字段的多个表单?是好是坏?

更改用于分隔具有相同名称标识符的表单输入字段的字符?

如何组合具有相同名称的 JSON 对象?

如何将结构转换为具有完全相同字段名称和类型的另一个结构?