在localforage中动态生成key的值
generate the value of key dynamically in localforage
我正在使用 localForage 离线存储数据。在使用 setItem 方法添加键值存储时,我想生成键的值,如 activity_1、activity_2、activity_3 等,这是在我提交表单时生成的。因此,对于我提交的每个表单,它都应该以不同的方式生成键值。
这是相关代码:
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);
});
});
这里是codepenlink供参考。
但就我而言,它会为我提交的每个表单生成密钥 'activity_1'。因此它会覆盖存储在 'activity_1'.
的先前值
只需尝试提交表单 2-3 次,然后打开您的开发者控制台即可查看结果。
每次提交表单时如何生成不同的密钥。
不要将 i 变量设为局部变量。每次调用该函数时,i 变量都会重置为 1。
var i = 1;
function activityArr() {
if(i > 0){
var keyVal = 'activity_' + i;
}
i++;
return keyVal;
}
我正在使用 localForage 离线存储数据。在使用 setItem 方法添加键值存储时,我想生成键的值,如 activity_1、activity_2、activity_3 等,这是在我提交表单时生成的。因此,对于我提交的每个表单,它都应该以不同的方式生成键值。
这是相关代码:
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);
});
});
这里是codepenlink供参考。
但就我而言,它会为我提交的每个表单生成密钥 'activity_1'。因此它会覆盖存储在 'activity_1'.
的先前值只需尝试提交表单 2-3 次,然后打开您的开发者控制台即可查看结果。
每次提交表单时如何生成不同的密钥。
不要将 i 变量设为局部变量。每次调用该函数时,i 变量都会重置为 1。
var i = 1;
function activityArr() {
if(i > 0){
var keyVal = 'activity_' + i;
}
i++;
return keyVal;
}