我为学校制作了一个小投票系统,当一个问题没有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 } ?>
对于所有四个输入字段
<?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>