我有一个带有一些基本属性的模型,但也有一个属性是地图,就像这样
{
"id": "...",
"name": "...",
"foo": {
"apple": "pear",
"dog": "cat",
...
}
}
我正在寻找从HTML表单创建此内容的最佳方法,以及填写html表单以进行查看/编辑,如此
<form>
<input type="hidden" name="id"/>
<input type="text" name="name"/>
...some input field(s) for "foo"...
</form>
理想情况下,我还希望能够执行客户端表单验证,以确保地图不包含重复项,某些键,特定值等...
我还希望能够添加新的键/值对并删除现有的对。
到目前为止我实现的解决方案是一个表,其行包括键输入字段,值输入字段和删除按钮,用于向表中添加新行的单独按钮,以及表单上的submit()方法手动抓取所有键/值对并构建映射,因此它是一个非常手动的汇编/填充过程。
<form>
<table id="foo">
<tr>
<td><input type="text" name="key"/><td>
<td><input type="text" name="value"/><td>
<td><input type="button" value="remove/><td>
</tr>
</table>
</form>
<script>
$("form").submit(function(e){
e.preventDefault();
//loop through rows, get key/values, build JSON and submit
});
</script>