在普通JavaScript中,可以通过以下方式根据输入名称创建表单输入值的嵌套对象(JSON):
var formData = {};
document.querySelectorAll
方法选择所有的输入元素:var inputs = document.querySelectorAll('input');
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
var name = input.name;
var value = input.value;
// 使用递归方式创建嵌套对象
createNestedObject(formData, name, value);
}
function createNestedObject(obj, key, value) {
var keys = key.split('.');
var lastKey = keys.pop();
keys.reduce(function (nestedObj, currentKey) {
if (!nestedObj[currentKey]) {
nestedObj[currentKey] = {};
}
return nestedObj[currentKey];
}, obj)[lastKey] = value;
}
formData
对象就是根据输入名称创建的表单输入值的嵌套对象(JSON)。这种方法可以处理输入名称中包含点号的情况,将其转换为嵌套对象的属性。例如,对于输入名称user.name
,将创建一个嵌套对象{ user: { name: value } }
。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。
领取专属 10元无门槛券
手把手带您无忧上云