簡體   English   中英

如何防止通過特定操作調用確認?

[英]How can I prevent an confirmation from being called through a certain action?

我有以下代碼:

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) 或按確定 (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";
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM