如何禁用同步按钮,以便刷新不重新启用它

时间:2017-09-30 05:38:00

标签: javascript jquery

所以我创建了一些用户需要等待X次才能再次按下按钮,但问题是......当你刷新页面时,它会被重新启用。

我知道这是可能的,我只是不确定如何。

代码: JS:

      $(document).ready(function () {
        $("#cool-down").on("click", function() {
            $(this).attr("disabled", "disabled");
            startCooldown();
        });
    });   

      function startCooldown() {
        alert("Your cooldown period has started. You will have to wait 3 hours before trying again.");
        //Disables magic button for 3 hours.
        setTimeout('$("#cool-down").removeAttr("disabled")', 12400000);
} 

我的按钮是:

<input type="submit" id="cool-down" class="btn btn-default" value="Magic" />

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

  

当您刷新页面时,它会重新启用。

原因是刷新后window刷新&amp;所有变量都将刷新,并与计时器相同。

可能的解决方案是维护cookie或维护服务器端的按钮状态

答案 1 :(得分:0)

您需要记录客户是否单击了按钮

通常在服务器端,使用cookie或会话等。

如果你的情况不那么严格,那么使用localStorage

这是一个棘手的方法
$("#cool-down").on("click", function() {
            var time = new Date().getTime();
            if (!localStorage.isClick || localStorage.isClick - time >= 12400000) {
               localStorage.isClick = time;
               dosomething();
               return;

            }
            donothing()
        });