如何从具有相同名称的字段的表单创建 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 文件?的主要内容,如果未能解决你的问题,请参考以下文章