当值为null时,隐藏HTML表单的部分


Hide parts of HTML form when value = null

我为学校制作了一个小投票系统,当一个问题没有4个答案时,我会遇到问题。我希望html表单只显示带有值的按钮。投票系统的屏幕截图

按钮3和4未定义。只有按钮1和2应该是可见和可点击的。

这是我的代码:

<form role="form" class="form-inlinecy" action="VotingVoting.php" method="post">
            <div class="form-group">
                <input type="submit" name="a" id="a" value="<?php echo $voting->a ?>"/>
            </div>
            <div class="form-group">
                <input type="submit" name="b" id="b" value="<?php echo $voting->b ?>"/>
            </div>
            <div class="form-group">
                <input type="submit" name="c" id="c" value="<?php echo $voting->c ?>"/>
            </div>
            <div class="form-group">
                <input type="submit" name="d" id="d" value="<?php echo $voting->d ?>"/>
            </div>
        </form>

这听起来不是一件复杂的事情,但我在这里找不到答案。非常感谢!

问候Timo

使用PHP脚本检查

  <?php  if(isset($voting->a) && !empty($voting->a))
    { ?>
       <div class="form-group">
          <input type="submit" name="a" id="a" value="<?php echo $voting->a ?>"/>
       </div>
    <?php } ?>

对于所有四个输入字段

p>有多种方法可以做到这一点,其中之一可以是在输入周围添加一个条件,如下所示:
<?php if($voting->b != ""){ ?>
<div class="form-group">
                <input type="submit" name="b" id="b" value="<?php echo $voting->b ?>"/>
            </div>
<?php } ?>

或者CSS方式:

input[value=""] { display: none; }

点击此处查看

如果没有设置最后两个按钮,可以使用如下PHP条件来隐藏它们。

<form role="form" class="form-inlinecy" action="VotingVoting.php" method="post">
    <div class="form-group">
        <input type="submit" name="a" id="a" value="<?php echo $voting->a ?>"/>
    </div>
    <div class="form-group">
        <input type="submit" name="b" id="b" value="<?php echo $voting->b ?>"/>
    </div>
    <?php if (isset($voting->c)) { ?>
    <div class="form-group">
        <input type="submit" name="c" id="c" value="<?php echo $voting->c ?>"/>
    </div>
    <?php } ?>
    <?php if (isset($voting->d)) { ?>
    <div class="form-group">
        <input type="submit" name="d" id="d" value="<?php echo $voting->d ?>"/>
    </div>
    <?php } ?>
</form>

您可以使用if条件执行此操作,如下所示

 <?php if(isset($voting->a) && !empty($voting->a)){ ?>
     <div class="form-group">
         <input type="submit" name="a" id="a" value="<?php echo $voting->a ?>"/>
     </div>
<?php } ?>

尝试这个

<form role="form" class="form-inlinecy" action="VotingVoting.php" method="post">
        <div class="form-group">
           <?php
            if($voting->a != '') { echo '<input type="submit" name="a" id="a" value="'.$voting->a.'"/>';}
           ?>
        </div>
        <div class="form-group">
            <?php
            if($voting->b != '') { echo '<input type="submit" name="b" id="b" value="'.$voting->b.'"/>';}
           ?>
        </div>
        <div class="form-group">
            <?php
            if($voting->c != '') { echo '<input type="submit" name="c" id="c" value="'.$voting->c.'"/>';}
           ?>
        </div>
        <div class="form-group">
            <?php
            if($voting->d != '') { echo '<input type="submit" name="d" id="d" value="'.$voting->d.'"/>';}
           ?>
        </div>
    </form>

您的类结构通常不是很好,但对于您的示例

<form role="form" class="form-inlinecy" action="VotingVoting.php" method="post">
<?php
foreach (['a','b','c','d'] as $id) {
   if (empty($voting->$id)) continue;?>
   <div class="form-group">
      <input type="submit" name="<?php echo $id;?>" id="<?php echo $id;?>" value="<?php echo $voting->$id; ?>"/>
    </div>
<?php } ?>
</form>

这应该有效:

<form role="form" class="form-inlinecy" action="VotingVoting.php" method="post">
        <div class="form-group">
           <?php
            if($voting->a <> '') { echo '<input type="submit" name="a" id="a" value="'.$voting->a.'"/>';}
           ?>
        </div>
        <div class="form-group">
            <?php
            if($voting->b <> '') { echo '<input type="submit" name="b" id="b" value="'.$voting->b.'"/>';}
           ?>
        </div>
        <div class="form-group">
            <?php
            if($voting->c <> '') { echo '<input type="submit" name="c" id="c" value="'.$voting->c.'"/>';}
           ?>
        </div>
        <div class="form-group">
            <?php
            if($voting->d <> '') { echo '<input type="submit" name="d" id="d" value="'.$voting->d.'"/>';}
           ?>
        </div>
    </form>