我想在我的MVC应用中使用dForm。 当我尝试从以下json字符串构建表单时,没关系。
var formdata = {
'action': 'index.html',
'method': 'get',
'elements':
[
{
"type":"select",
"name":"Name",
"caption":"Name",
"options":"first":{"html":"first","class":"active"},
"second":{"html":"second","class":"active"},
"selected":null
}
]
};
但当我将生成的部分用于以下元素时:
var elements = {
"action": "index.html",
"method": "get",
"elements":
[
$('#jqgrid').jqGrid('getGridParam', 'userData')
]
};
$('#myform').buildForm(elements);
我从dform得到以下错误:
uncaught exception: No element type given! Must always exist.
但我确信“elements”标签与我在第一个例子中发布的相同。
我发现在firebug中我可以看到以下格式的jqGrid的getted字符串userData:
"userdata":"{\"type\":\"select\",\"name\":\"Name\",\"caption\":\"Name\",\"options\":{\"first\":\"first\" .....
我从JObject生成userData。 也许有问题。我试图替换逃脱的角色'\',但没有成功。
答案 0 :(得分:0)
这种格式看起来不对。它可能正在尝试转换
{ "userdata" : "JSON String" }
据我所知,你可能要做的事情:
JSON.parse($('#jqgrid').jqGrid('getGridParam', 'userData').userdata);
如果不这样做,请查看Google Group,可能更容易为您提供帮助。