问题描述
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)或通过按okay(true)继续操作。但是,尽管这样做确实有效,但是当本地存储空间已空时会出现问题,令人讨厌的是,出现了一个显示“您确定要删除未定义的吗?”的用户弹出窗口。未定义是因为保存后,我对其进行了设置,以便用户可以命名其保存的文本。但是,通过本地存储删除文本后,名称本身已被删除,因此它以未定义形式返回。关键是,如果本地存储为空并且说未定义,我不希望该共享弹出窗口出现。我只希望它提醒:“没有要删除的内容”。就这样。 变量“ noteName”已在代码中更早地定义**
我想不出一种重组代码的方法,这样当本地存储中没有任何内容时,确认警报就不会返回。我该怎么办?我应该如何更改此代码?
解决方法
尝试此代码
function reset() {
if (!localStorage.getItem("savetext")) return;
confirmation = confirm("Are you sure you'd like to delete " + noteName + "?");
if (!confirmation) {
alert("Deletion Cancelled");
} else {
alert("Delete Successful");
localStorage.removeItem("savetext");
document.getElementById("confirmation-Here").innerHTML = "Deleted";
}
}