简体   繁体   English

如何检查本地存储中的键值?

[英]How can I check if there is a value for a key in local storage?

The user should only be able to store information if there is not a preexisting value stored to the key. 如果密钥中没有预先存储的值,则用户只能存储信息。 How can i check if there is already a value, and alert the user that there is already a value? 如何检查是否已经存在值,并提醒用户已经存在值? I know i have to use an if statement. 我知道我必须使用if语句。 If there is a value alert the user. 如果有值,请警告用户。 Else set item...(save the object). 其他设置项...(保存对象)。 But how do i check for the value? 但是我该如何检查价格呢?

function addEvent() {
    var announcement = {
        title: document.getElementById('title').value,
        group: document.getElementById('group').value,
        author: document.getElementById('author').value,
        type: document.getElementById('type').value,
        date: document.getElementById('date').value,
        time: document.getElementById('time').value,
        gender: document.getElementById('gender').value,
        grade: document.getElementById('grade').value,
        message: document.getElementById('message').value
    };
    var objS = JSON.stringify(announcement);

    localStorage.setItem('announcement', objS);

    alert('Announcement successfully stored!');
}

function showA() {
    var getObj = localStorage.getItem('announcement');
    var objP = JSON.parse(getObj);

    document.getElementById('showAnnouncement').innerHTML = "Announcement"+"<br/>Title:"+objP.title+"<br/>Group:"+objP.group+"<br />Author:"+objP.author+"<br />Type:"+objP.type+"<br/>Date:"+objP.date+"<br />Time:"+objP.time+"<br/>Gender:"+objP.gender+"<br/>Grades:"+objP.grade+"<br />Message:"+objP.message;
}

I think the following code snippet can help you! 我认为以下代码段可以为您提供帮助!

var getObj = localStorage.getItem('announcement');
var obj = JSON.parse(getObj);
for (key in obj) {
  if(obj[key] !== ''){
   alert(key + 'is existed');
  }else{
   var newValue = document.getElementById(key).value;
   obj[key] = newValue == '' ? '' : newValue;
  }
}
var newObjS = JSON.stringify(obj);

localStorage.setItem('announcement', newObjS);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM