首页 > 解决方案 > 我有两个按钮 onclick 更改文本按钮并且不保存我想使用 javascript 中的本地存储来保存更改

问题描述

我尝试了很多方法,但它对我不起作用。问题是什么?代码html

<button class="button" id="button1">click 1</button>
<button class="button" id="button2">click 2</button>

javascript

var activeButton = localStorage.getItem('activeButton');
var isActive = localStorage.getItem('isActive');
const allButtons = document.querySelectorAll(".button");
[...allButtons].forEach(function (thisButton) {
    if (isActive === 'true') {
        if (activeButton !== thisButton.id) {
            thisButton.disabled = true;
        }
    }
});
const movetool = event => {
    activeButton = localStorage.getItem('activeButton');
    if (activeButton === target.id) {
        var enableAll = false;
        let saveuser = localStorage.getItem("save_unsave");
        var setName = "don't click";
        localStorage.setItem("Name", setName);
        target.innerHTML = localStorage.getItem("Name");
        Array.from(allButtons).forEach(function (thisButton) {
            if (thisButton.disabled) {
                enableAll = true;
                return;
            }
        });
        if (enableAll) {
            Array.from(allButtons).forEach(function (thisButton) {
                thisButton.disabled = false;
                target.innerHTML = "click";
            });
            localStorage.setItem('isActive', false);
        } else {
            Array.from(allButtons).forEach(function (thisButton) {
                thisButton.disabled = true;
                thisButton.innerHTML = "don't click";
                var setName = "don't click";
                localStorage.setItem("Name", setName);
                target.innerHTML = localStorage.getItem("Name");
            });
            if (target.classList.contains("button")) {
                target.disabled = false;
                localStorage.setItem('isActive', true);
                localStorage.setItem('activeButton', target.id);
            }
        }
    } else {
        Array.from(allButtons).forEach(function (thisButton) {
            thisButton.disabled = true;
            thisButton.innerHTML = "don't click";
            var setName = "clicked";
            localStorage.setItem("Name", setName);
            target.innerHTML = localStorage.getItem("Name");
        });
        if (target.classList.contains("button")) {
            target.disabled = false;
            localStorage.setItem('isActive', true);
            localStorage.setItem('activeButton', target.id);
        }
    }
}
document.querySelector('.button_container').addEventListener('click', movetool);

这是代码。它可以工作,但如果你重新加载,按钮会按原样返回。你犯了什么错误?

标签: javascripthtml

解决方案


推荐阅读