Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动启用/禁用按钮_Javascript_Jquery_Ajax_Jsp - Fatal编程技术网

Javascript 自动启用/禁用按钮

Javascript 自动启用/禁用按钮,javascript,jquery,ajax,jsp,Javascript,Jquery,Ajax,Jsp,我有一个按钮(用于提问)和倒计时计时器(其中time=“2017/04/30 10:30:00),现在我想要的是当time=达到0时自动禁用按钮,当time>0时自动再次启用按钮 我只有一个变量用于保存日期var time=“2017/04/30“。我想不断检查时间是使按钮启用/禁用的最佳选择,但我不知道如何执行。在前端脚本中执行此操作不是一个好的做法,因为几乎任何具有基本JavaScript知识的人都可以在时间==0时重新启用按钮,我假设您不希望发生这种情况。” 我建议在服务器端代码中这样做。

我有一个按钮(用于提问)和倒计时计时器(其中time=“2017/04/30 10:30:00),现在我想要的是当time=达到0时自动禁用按钮,当time>0时自动再次启用按钮


我只有一个变量用于保存日期var time=“2017/04/30“。我想不断检查时间是使按钮启用/禁用的最佳选择,但我不知道如何执行。

在前端脚本中执行此操作不是一个好的做法,因为几乎任何具有基本JavaScript知识的人都可以在
时间==0
时重新启用按钮,我假设您不希望发生这种情况。”

我建议在服务器端代码中这样做。简言之:

  • 在生成页面时检查计时器,如果计时器已超时,则生成禁用的按钮,而不包含处理单击事件的任何代码
  • 在处理由按钮点击触发的请求时检查计时器,如果计时器超时,则返回404或其他错误消息
    综上所述,如果您“必须”以这种快速肮脏的方式进行操作,您只需使用
    setInterval
    setTimeout

    //javascript
    // check timer every 200 ms
    var TICK = 200; 
    var checkTimerTask = setInterval(function(){
        if (getTimer() == 0){
            document.getElementById('buttonId').disabled = true; 
        } else {
            document.getElementById('buttonId').disabled = false;
        }
        // to stop checking uncomment the following line.
        // clearInterval(checkTimerTask);
    }, TICK);
    

    请添加您的相关代码。并包括一个更具体的问题陈述,因为它与该代码相关。您的倒计时计时器插件必须具有很少的回调函数,如计时器到达末尾或计时器滴答回调时调用的函数。你可以利用它们来决定按钮的状态。现在我正在使用来自Github的代码。请将相关代码添加到你的帖子中。非常感谢你,grt帮助!小问题,为什么要调用文件末尾的文档,文档做什么?很抱歉,我是js+ben的初学者,需要将当前的
    文档
    引用捕获为本地参数,以避免使用“全局”
    文档
    变量。我将其删除,因为它会引起混乱,但与问题没有直接关系。