【发布时间】:2021-03-24 17:39:30
【问题描述】:
我正在发送一个包含 radio 和 checkbox 输入的表单(因此多个元素具有相同的名称),这就是我想出的。
有没有更快/更简单的纯 JavaScript 方法将 HTML form 转换为 object 以便我可以使用 JSON.stringify?
没有框架或库。
function serialize_form(felement) {
const names = new Set();
let values = {}
for(let i = 0; i < felement.elements.length; i++) {
if(felement[i].name && (felement.name != undefined || felement.name != "")){
names.add(felement[i].name)
}
}
for(let name of names) {
values[name] = felement[name].value;
}
console.log(names, values);
return values;
}
【问题讨论】:
-
在这里查看我对 FormData 的回答:stackoverflow.com/a/46376650/362536
-
@brad 我看到了这个问题,但从未想象过非 jquery 的答案。谢谢。
-
结合 FormData 和这个answer to how to serialize FormData 是这个问题的答案。
标签: javascript html