当当前时间距数据库中设置的时间不到一小时时,如何禁用按钮

How to disable button when current time is less than a hour from time set in database?

本文关键字:时间 一小时 按钮 何禁用 数据库 设置      更新时间:2024-02-20

我有一个由windows窗体应用程序控制的mvc 4网站。在这个winform中,您可以设置将在网站上运行的拍卖的开始和结束时间。一旦用户出价,他们可以在拍卖结束前一小时内将其删除。当当前时间距离结束时间不到一个小时时,如何禁用此删除按钮?谢谢你的帮助。

在视图上添加一个计时器,以便在加载它时,拍卖结束时的datetime值将用于停用按钮。

您可以在视图中的jquery中执行以下操作(这是我脑海中的粗略代码):

<script type="text/javascript">
    $(function () 
    {
        // essentially subtract your db value from now
        var auctionEndTime = datetimevaluefromthedatabase - datetimenow
        // if there's still time - greater than 1 hour then set timer
        if (auctionEndTime > 1) 
        {
            // note: you'll need milliseconds for the timeout
            var initTimer = setTimeout(function () { disableButton() }, auctionEndTime);
        }
        else
        {
            disableButton();
        }
        function disableButton() 
        {
            $('input:submit').attr("disabled", true);
        }
    });
</script>

解决方案将设置间隔,以检查$.ajax或任何其他ajax实现的状态,并在时间到来时解除单击或删除按钮的绑定。

您也可以对剩余时间进行一次检查,然后将时间放入内存,然后以相等的间隔检查所需的时间。

第二个解决方案是les精确的,因为javascript有特殊的时间处理,但这会减少后端和数据库的负载。