我的发件人地址有以下 6 个字段
现在,没有一个字段是按照新字段创建的强制要求
名为 Alt_Address__1、2、3、4、5 和 6(在表单上不可见)但是
OnSave(使用 JavaSCript)
将考虑上述 6 个发票地址字段中的每一个,按此顺序 - 街道 1、街道 2、街道 3、城市、县、邮政编码。
第一个填充的字段将保存到 Alt_Invoice_Address_1 第二个填充字段将保存到 Alt_Invoice_Address 2 依此类推 6 个字段。
我无法为此想出一个聪明的逻辑,关于如何编写 JavaScript 函数来实现上述要求的任何建议
你可以做的是在像这样的单个对象中收集所有现场数据之后:
let formObject = {
"Street1": "manchester",
"Street2": "123 road",
"Street3": "something something",
"City": "NY"
"Country": "USA"
"Postcode": "5165812168452"
}
您首先使用 Object.values() 函数提取所有对象值,并将其存储在一个新的变量中。
下一步是使用 Array.prototype.forEach() 函数遍历每个值并将它们存储在具有适当属性的对象中。
由于您的财产名称都是相同的(Alt_Invoice_Address),只有递增的数字,您可以在 forEach 函数中添加索引参数以手动创建您的财产。
举个例子:
let newFormObject = {};
let formValues = Object.values(formObject);
formValues.forEach((value, index)=>{
let newPropertyName = "Alt_Invoice_Address_" + index;
newFormObject[newPropertyName] = value;
});
现在您有了新对象,其中所有 Alt_Address 字段均已填充字段值。 希望这有帮助。