问题:
两种形式,在隐藏的 div 中,当您按下相应的按钮时会出现。输入被解析为 JSON 并与请求一起发送。由于不同的原因,我不能使用form
或 fieldset
环绕表单,所以我使用了:
form = document.getElementById('formularEins').getElementsByTagName('input');
当我还能使用时form.elements
(在我意识到 IE 的字段集不支持 .elements 属性之前),我使用它从输入中生成 JSON:
(在这种情况下form = document.getElementsByClassName('formOne')[0];
Const formToJSON = elements => [].reduce.call(elements, (data, element) => {
if (isCheckbox(element)) {
//data[element.name] = (data[element.name] || []).concat(element.value);
data[element.name] = element.value;
} else if (isMultiSelect(element)) {
data[element.name] = getSelectValues(element);
} else {
data[element.name] = element.value;
}
}
return data;
},);
问题:
对于 HTMLCollection 及其上面的项目,如何将 Input 转换为 JSON?
我尝试过 - 并失败了以下不同版本:
var formToJSON = function formToJSON(form) {
for (var i = 0; i < form.length; i++) {
var item = form[i];
data[item.name] = item.value; }
};