如何防止通过某个操作调用确认?

问题描述

我有以下代码

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";
  }
}