【发布时间】:2021-02-03 23:01:12
【问题描述】:
我有以下代码:
var noteName;
function reset() {
confirmation = confirm("Are you sure you'd like to delete " + noteName + "?");
if(confirmation === false) {
alert("Deletion Cancelled");
}
else if(localStorage.getItem('savetext') === null) {
alert("There is nothing to delete");
}
else {
alert("Delete Successful");
localStorage.removeItem('savetext');
document.getElementById("confirmation-Here").innerHTML = "Deleted";
}
}
我想要做的是,如果用户按下删除按钮,它会输出一个确认警报,用户可以选择取消 (false) 或按 OK (true) 继续操作。然而,虽然这确实有效,但当本地存储已经为空时,问题就出现了,看到相同的用户弹出窗口显示“你确定要删除未定义吗?”,这很烦人。未定义是因为保存后,我已经设置了它,以便用户可以命名他们保存的文本。但是通过本地存储删除文本,名称本身已被删除,因此它返回未定义。问题是,如果本地存储为空并且显示未定义,我不希望出现共享弹出窗口。我只是想让它提醒:“没有什么可删除的”。就这样。 变量“noteName”已在前面的代码中定义**
我想不出一种方法来重组我的代码,以便在本地存储中没有任何内容时不会返回确认警报。我该怎么办?我应该如何更改此代码?
【问题讨论】:
-
getItem() 在密钥不存在时返回
null而不是undefined -
哦,好的,谢谢。
标签: javascript html function if-statement confirmation