如何根据存储在PHP数组中的值禁用HTML按钮?

时间:2015-08-08 22:45:33

标签: php html

我正在创建一个人们可以注册会话的信息亭。每个会话时间段显示在一个按钮中,剩余的座位数。当容量达到0时,文本显示在按钮上的时间段下方,表示“没有剩余座位”。

如何根据PHP数组中的值禁用按钮,以便人们无法点击它?

<button type="submit" name="DS1" value="1">
    <h4>10:30 - 11:15</h4>
    <h5><?php if ($result[0]['capacity'] > "0") {
            echo $result[0]['capacity'];
            echo " Seats Remaining";
        } else {
            echo "This Session is Full!";
        } ?></h5>
</button>

3 个答案:

答案 0 :(得分:2)

<button type="submit" name="DS1" value="1" <?php if($result[0]['capacity'] > "0"){echo 'disabled'; } ?>><h4>10:30 - 11:15</h4> <h5><?php if($result[0]['capacity'] > "0"){echo $result[0]['capacity']; echo " Seats Remaining";} else {echo "This Session is Full!";}?></h5></button>

应该可以使用,这会为按钮添加属性disabled。如果存在此属性,则无法按下

在你的情况下,最好制作一个if-block,使其更易读,更容易调整:

<?php if($result[0]['capacity'] > "0") : ?>
  <button type="submit" name="DS1" value="1">
    <h4>10:30 - 11:15</h4>
    <h5><?php echo($result[0]['capacity']); ?> Seats remaining</h5>
  </button>
<?php else : ?>
  <button type="submit" name="DS1" value="1" disabled>
    <h4>10:30 - 11:15</h4>
    <h5>This Session is Full</h5>
  </button>
<?php endif; ?>

答案 1 :(得分:1)

第一个if检查值是否为0.如果是,它会将disabled属性附加到按钮。否则,它将显示未禁用的button

无论如何,这是更干净的解决方案。

if ($result[0]['capacity'] == "0") {
    <button type="submit" name="DS1" value="1" disabled>Your Button Display Value</button>
} else {
    <button type="submit" name="DS1" value="1">Your Button Display Value</button>
}

答案 2 :(得分:1)

我会将按钮本身包裹在可用的座位内,以免让用户完全混淆按钮。所以:

<?php
if($result[0]['capacity'] > "0")
{
    $seatsRemaining = $result[0]['capacity'];
    $buttonDisp = "<button type='submit' name='DS1' value='1'><h4>10:30 - 11:15</h4> <h5>$seatsRemaining Seats Remaining</h5></button>";
}
else
{
    $buttonDisp = "This Session is Full!";
}

echo $buttonDisp;
?>

现在,用户无法看到要按的按钮,而是看到您的消息。