【问题标题】:how create a JSON file from a form with fields with the same name?如何从具有相同名称的字段的表单创建 JSON 文件?
【发布时间】: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 行有一个小问题,您在数组中使用了键值对。在其他地方也是如此。

标签: jquery json forms field


【解决方案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
猜你喜欢
  • 2016-08-25
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 2011-01-13
  • 2016-06-02
  • 2016-01-05
相关资源
最近更新 更多