如果一天单击一次按钮,并在第二天使用JavaScript和AngularJS 1启用,如何禁用该按钮?

如果一天单击一次按钮,并在第二天使用JavaScript和AngularJS 1启用,如何禁用该按钮?,javascript,angularjs,Javascript,Angularjs,我的按钮应该在一天中单击一次后禁用(即,用户使用提交按钮输入详细信息时,一天中仅禁用一次)。应启用“次日自动”按钮 帮助我学习JavaScript或AngularJS。如果你有后端,你可以像Sajal说的那样在DB中维护状态,但既然你问的是AngularJS/JavaScript和前端解决方案cookie(Chris说的)或localStorage,设置cookie并根据cookie设置按钮每天重置 有关学校的更多信息: 请记住,Cookie可以修改,因此,如果您想要完整的解决方案,DB是最

我的按钮应该在一天中单击一次后禁用(即,用户使用提交按钮输入详细信息时,一天中仅禁用一次)。应启用“次日自动”按钮


帮助我学习JavaScript或AngularJS。

如果你有后端,你可以像Sajal说的那样在DB中维护状态,但既然你问的是AngularJS/JavaScript和前端解决方案cookie(Chris说的)或localStorage,设置cookie并根据cookie设置按钮每天重置

有关学校的更多信息:


请记住,Cookie可以修改,因此,如果您想要完整的解决方案,DB是最好的方式。

您可以将单击的状态保存在本地存储中,但此解决方案不安全。
您应该添加服务器端控件。

您可以使用超时功能。您可以指定超时的具体时间,然后在该超时后可以启用该按钮

EX:

var theInterval = $interval(function(){
      //Enable button
   }.bind(this), time);  
您可以使用本地存储:


$scope.buttonIsActive=函数(){
var now=新日期();
var day=now.getDate();
var lastClickDay=parseInt(localStorage.getItem(“上次单击日”);
返回日期>最后点击日期;
}
$scope.onClick=function(){
var now=新日期();
var day=now.getDate();
setItem(“最后一次单击日期”,日期);
//…在这里做点别的
}

查看Cookie。您应该在数据库中维护状态。从前端执行此操作的最佳方法是将数据存储在Cookie或localStorage中,但任何人都可以轻松删除这些数据,因为它们存储在客户端的浏览器中,如果有人使用其他web浏览器或其他设备,它将允许他们再次单击按钮。因此,你应该考虑使用数据库,正如Sajal所说的。这个解决方案将要求用户保持浏览器的打开,所以这是真正的边缘情况,这将实际工作。是的,这个用户需要让他打开浏览器。为此,您可以将时间存储在本地存储器中,当浏览器打开时,它将计算启用按钮的剩余时间。
<button ng-disabled="!buttonIsActive()" ng-click="onClick()"></button>

$scope.buttonIsActive = function() {
    var now = new Date();
    var day = now.getDate();
    var lastClickDay = parseInt(localStorage.getItem("last-click-day"));        
    return day > lastClickDay;
}

$scope.onClick = function() {
    var now = new Date();
    var day = now.getDate();
    localStorage.setItem("last-click-day", day);
    // ... Do something else here
}