如何将多级JavaScript对象反序列化为HTML表单?
编辑:问题定义中存在一个概念错误和一个技术错误,因此最好关闭此问题,而不是对其进行清理。当我有时间重新定义问题时,我会再次发布它由于不明确,请帮助投票结束。 将复杂的HTML表单序列化到对应的JavaScript对象(例如)有很多信息和问题 下面是这个过程的一个示例:拥有这个表单如何将多级JavaScript对象反序列化为HTML表单?,javascript,html,post,deserialization,json-deserialization,Javascript,Html,Post,Deserialization,Json Deserialization,编辑:问题定义中存在一个概念错误和一个技术错误,因此最好关闭此问题,而不是对其进行清理。当我有时间重新定义问题时,我会再次发布它由于不明确,请帮助投票结束。 将复杂的HTML表单序列化到对应的JavaScript对象(例如)有很多信息和问题 下面是这个过程的一个示例:拥有这个表单 并从中获取这个javascript对象 { “标量”:1, “数组”:[1,2,3], “对象”:{ “次刻度”:1 } } 但是我怎么能做相反的工作呢 我们的目标是针对单独的浏览器窗口执行本机POST。我们有一
并从中获取这个javascript对象
{
“标量”:1,
“数组”:[1,2,3],
“对象”:{
“次刻度”:1
}
}
但是我怎么能做相反的工作呢
我们的目标是针对单独的浏览器窗口执行本机POST。我们有一个复杂的JavaScript对象,我们通过AJAX POST发送,所以我们直接使用该对象作为jQuery.AJAX数据参数。但是现在我们需要在DOM中创建一个包含所有括号语法的输入和值的真实表单,然后以特定帧为目标本地提交它
jQuery的使用是可选的。已有的方法、库等更适合于定制snuppet。这不是因为我们无法编写代码,而是因为我们不确定是否需要重新发明轮子
提前谢谢
function parseform(elem,parent=""){
this.html="";
this.parent=parent;
if(typeof elem=="Array"){
var counter=0;
elem.forEach(function(a){
this.html+=new parseform(a,this.parent+"["+counter+"]").html;
counter++;
});
}
if(typeof elem=="String"){
this.html+="<input name='"this.parent+"["+elem+"]' />";
}
//object in progress
if(typeof elem=="Object"){
for (var key in elem) {
if (p.hasOwnProperty(key)) {
this.html += new parseform(elem[key],this.parent="["+key+"]").html;
}
}
}
}
我知道你不想要代码,但我不认为有一个api用于如此特定的东西那么你有一个表单可以从中获取值吗?你的结构没有意义。为什么需要动态生成“dream[as]…”这样的名称@Rajesh不,我有一个JS对象,我需要生成一个表单,浏览器可以发送该表单,生成与我通过XMLHTTPRequest发送该对象时生成的相同的帖子。一个选项是创建内存中的表单,然后手动提交。另一个选项是可以创建序列化字符串。不确定数组将如何在它们中表示抱歉,在问题定义上有一个概念错误和一个技术错误,所以我现在结束这个,直到我有时间重新定义问题。请帮助投票结束非特定的。谢谢大家在这里投入的时间。对不起,伙计们,在问题定义上有一个概念错误和一个技术错误,所以我现在结束这个,直到我有时间重新定义这个问题。请帮助投票结束非特定的。感谢大家在这里投入的时间。
code=new parseform(yourjsondecoded).html;