Jquery根据.load请求的输出禁用或启用操作按钮

时间:2016-11-18 21:09:32

标签: php jquery

我和另一位程序员正在编写一个网络聊天应用程序。以前他编写的聊天程序仅供应用程序使用,并且由于一些错误而私人使用,如果发现并公开发布,可能会破坏系统。所述系统的用户之间的信任值得信赖,如果他们发现了这些错误,就不会利用它们并将他的服务器关闭。我请求他编写可以在PHP中实现的代码,并告诉他我会为它编写前端。

然而。我遇到了关于jquery的问题。当然,我们可以运行网站纯html / css / php,并有不断的页面重新加载......或者,我们可以将jquery混合到等式中,使用户更容易。

TL; DR:我正在用jquery编写一个聊天应用程序,如果聊天加载程序拒绝聊天功能,这个函数将禁用聊天功能,但这不起作用。

  setInterval(function(){
    $('#reload').load('/file.php?server=serverfur');
    if($('#reload').html() == "Login to view server logs"){
      if($(".login-button").prop('disabled')){
        $(".login-button").prop('disabled', 'false');
        $(".logout-button").prop("disabled", 'true');
      }
    }else{
      if($(".login-button").prop('disabled')){
        $(".login-button").prop('disabled', 'false');
        $(".logout-button").prop("disabled", 'true');
      }
    }
  }, 1000);

1 个答案:

答案 0 :(得分:1)

.load()是异步的,因此您需要在结果完成之前检查结果。您需要将该代码放入回调函数中。

  setInterval(function(){
    $('#reload').load('/file.php?server=serverfur', function() {
        if($('#reload').html() == "Login to view server logs"){
          if($(".login-button").prop('disabled')){
            $(".login-button").prop('disabled', false);
            $(".logout-button").prop("disabled", true);
          }
        }else{
          if($(".login-button").prop('disabled')){
            $(".login-button").prop('disabled', false);
            $(".logout-button").prop("disabled", true);
          }
        }
    });
  }, 1000);

此外,要启用/禁用按钮,disabled属性应设置为布尔值,而不是字符串。