Javascript 在LocalFower中动态生成密钥的值
我正在使用localfough离线存储数据。在使用setItem方法向store添加键值时,我想生成像activity_1、activity_2、activity_3等键值,这是在提交表单时生成的。因此,对于我提交的每个表单,它应该以不同的方式生成键值 以下是代码:Javascript 在LocalFower中动态生成密钥的值,javascript,localforage,Javascript,Localforage,我正在使用localfough离线存储数据。在使用setItem方法向store添加键值时,我想生成像activity_1、activity_2、activity_3等键值,这是在提交表单时生成的。因此,对于我提交的每个表单,它应该以不同的方式生成键值 以下是代码: var getActivity = document.getElementById('getActivity'), fetchVal = document.getElementById('fetchVal'), lo
var getActivity = document.getElementById('getActivity'),
fetchVal = document.getElementById('fetchVal'),
log_form = document.getElementById('log_form');
function activityArr() {
var i = 1;
if(i > 0){
var keyVal = 'activity_' + i;
}
i++;
return keyVal;
}
log_form.addEventListener('submit', function(e){
e.preventDefault();
localforage.setItem(activityArr(), getActivity.value)
.then(function (val) {
console.log(val);
}).catch(function(err){
console.log(err);
});
localforage.keys().then(function(keys) {
console.log(keys);
}).catch(function(err) {
console.log(err);
});
});
这是供参考的链接
但在我的例子中,它为我提交的每个表单生成键“activity_1”。因此,它将覆盖存储在“activity_1”中的上一个值
只需尝试提交表单2-3次,然后打开开发人员控制台查看结果
如何在提交表单时以不同方式生成密钥 不要将i变量设为局部变量。每次调用该函数时,i变量都重置为1
var i = 1;
function activityArr() {
if(i > 0){
var keyVal = 'activity_' + i;
}
i++;
return keyVal;
}
啊…我错了。谢谢你的建议。