将 HTML 表单架构保存为 JSON
Save HTML form schema to JSON
有没有办法将HTML表单架构保存到JSON?
例如,当我有这样的东西时
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
我如何实现这样的目标:
[
{
field: 'input',
type: 'text',
name: 'firstname'
},
{
field: 'input',
type: 'text',
name: 'lastname'
},
]
我并不是说它必须是如上所述的精确输出,但是我如何实现类似的东西?
这个想法是做这样的事情。您可以循环访问元素的表单elements
集合,并使用每个元素提取必要的信息。
在下面的代码中,我使用了Array.prototype.map
方法,但也许使用简单的for
循环会更方便。它将为您提供更多的自定义空间。
function serializeSchema(form) {
return [].map.call(form.elements, function(el) {
return {
type: el.type,
name: el.name,
value: el.value
};
});
};
var form = document.querySelector('form'),
schema = serializeSchema(form);
alert(JSON.stringify(schema, null, 4));
<form>
<input type="text" name="firstname" value="Test">
<input type="text" name="lastname">
<select name="age" id="">
<option value="123" selected>123</option>
</select>
<input type="checkbox" name ="agree" value="1" checked> agree
</form>
还有一点需要注意。您尝试实现的目标与jQuery的$.fn.serializeArray
方法非常相似(它不收集type
)。但是,扩展serializeArray
以使其也返回type
元素非常简单。
相关文章:
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- AJAX将JSON数组保存到多个JS变量中
- Python在尝试保存新的JSON文件时导致服务器错误
- 将 ul 列表保存到 json 对象中
- 将从 URL 输出的 JSON 保存到文件 javascript
- 如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据
- 如何在rails数据库中保存JSON响应的值
- 保存JSON响应
- 如何在客户端保存JSON文件并在以后检索它
- 本地保存JSON更改
- 用javascript从本地主机web服务中保存json数据
- 我如何用javascript或angularjs保存json文件
- 保存JSON文件错误
- 是否可以使用javascript在客户端机器本地保存JSON ?
- 使用AJAX保存JSON数据
- 保存json字符串到客户端pc(使用HTML5 API)
- 使用AngularJS保存JSON数据到服务器-在页面刷新时消失
- 无法在Cordova的SQLite中保存JSON (GeoJSON)数据
- Jquery:如何发送一个ajax请求并为另一个调用保存JSON字符串
- 烬-自动保存JSON字段