Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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_Uibutton_Pug_Getelementbyid - Fatal编程技术网

Javascript 无法禁用按钮被按下

Javascript 无法禁用按钮被按下,javascript,uibutton,pug,getelementbyid,Javascript,Uibutton,Pug,Getelementbyid,我正在创建一个玩黑杰克游戏的前端代码。当用户点击“点击我”按钮时,用户会抽一张卡。我试图让它虽然,如果用户提请一张卡,把他们的价值超过21,那么击中我按钮是禁用的。然而,无论出于何种原因,按钮都没有被禁用 Javascript: if (sum > 21) { acePresent = checkAces(array); //checks the array of cards for any aces, If so change value of ace from 11 to

我正在创建一个玩黑杰克游戏的前端代码。当用户点击“点击我”按钮时,用户会抽一张卡。我试图让它虽然,如果用户提请一张卡,把他们的价值超过21,那么击中我按钮是禁用的。然而,无论出于何种原因,按钮都没有被禁用

Javascript:

if (sum > 21) {
      acePresent = checkAces(array); //checks the array of cards for any aces, If so change value of ace from 11 to 1.
      if (acePresent) {
        sum = sum - 10;
      } else {
        console.log("No aces and player has busted.  Disabling hit me button");
        document.getElementById("drawcards").disabled = true;
      }
PUG文件:

#endturn.ui.red.button
    |   Stay
#drawcards.ui.green.button
    |   Hit Me

如果您想使用JS禁用按钮,可以使用

document.getElementById(“drawcards”).setAttribute('disabled',true)

逻辑的其他部分取决于您,但有一些建议: 您的checkAce是否返回布尔值? checkAces是否返回正确的值? checkAces是同步的吗


尝试调试,为什么函数没有到达else语句。

我解决了这个问题。问题是我需要将类“disabled”添加到按钮。正确的Javascript代码如下所示:

document.getElementById("drawcards").classList.add("disabled");

如果代码是否达到else语句,请尝试调试。不起作用。我试过了。同样,yes checkAces返回一个布尔值。它本质上是在玩家的牌数组中迭代任何A。如果它找到了一张牌,它会将玩家的分数减去10,并改变要“解决”的牌的值。这样,当重新计算分数时,所有值为“RESOLVED”的卡只会向分数中添加一个。此外,它会到达else语句,因为console.log()语句会被打印出来。听起来很有趣。你的document.getElementById找到你要找的按钮了吗?我刚刚在document.getElementById上找到了console.log(),它会返回这个消息。我认为不管出于什么原因,它在默认情况下是禁用的,我必须启用它以防止推送它