如何用PHP if条件控制表单husband's name字段显隐(无需JS)
实现PHP条件控制字段显示/隐藏(无需JavaScript)
要满足默认隐藏husband's name字段、仅选中category1时显示的需求,我们可以通过PHP条件判断直接控制字段容器的显示状态,无需依赖JavaScript。具体修改如下:
修改后的表单代码
<form role="form" action="patient/addNew" class="clearfix" method="post" enctype="multipart/form-data"> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('categorie'); ?></label> <select class="form-control m-bot15" name="categorie" value=''> <option value="F#" > Sélectionner une catégorie </option> <option value="Cateory1" <?php if (!empty($patient->categorie)) { if ($patient->categorie == 'cateory1') { echo 'selected'; } } ?> > Cateory 1 </option> <option value="Categgory2" <?php if (!empty($patient->categorie)) { if ($patient->categorie == 'cateory2') { echo 'selected'; } } ?> > Cateorie 2 </option> </select> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('name'); ?></label> <input type="text" class="form-control" name="name" id="exampleInputEmail1" value='' placeholder=""> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('email'); ?></label> <input type="text" class="form-control" name="email" id="exampleInputEmail1" value='' placeholder=""> </div> <!-- 修改部分:通过PHP条件控制显示/隐藏 --> <div class="form-group col-md-6" <?php // 默认隐藏,仅当分类为cateory1时显示 if(empty($patient->categorie) || $patient->categorie != 'cateory1'){ echo 'style="display:none;"'; } ?>> <label for="exampleInputEmail1"><?php echo lang('name_husband'); ?></label> <input type="text" class="form-control" name="name_husband" id="exampleInputEmail1" placeholder=""> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('password'); ?></label> <input type="password" class="form-control" name="password" id="exampleInputEmail1" placeholder=""> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('address'); ?></label> <input type="text" class="form-control" name="address" id="exampleInputEmail1" value='' placeholder=""> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('andtecedentMed'); ?></label> <input type="text" class="form-control" name="andtecedentMed" id="exampleInputEmail1" value='' placeholder=""> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('andtecedentFam'); ?></label> <input type="text" class="form-control" name="andtecedentFam" id="exampleInputEmail1" value='' placeholder=""> </div> <div class="form-group col-md-6"> <label for="exampleInputEmail1"><?php echo lang('taille'); ?></label> <input type="text" class="form-control" name="taille" id="exampleInputEmail1" value='' placeholder=""> </div> </form>
关键说明
- 默认隐藏:通过给
husband's name字段的容器添加style="display:none;",实现页面加载时默认隐藏该字段; - 条件显示:利用PHP判断
$patient->categorie的值,仅当该值为cateory1时,移除隐藏样式,显示字段; - 注意事项:原代码中存在拼写不一致问题(如选项值
Cateory1与判断条件中的cateory1、选项值Categgory2与判断条件中的cateory2),请统一拼写,否则判断逻辑会失效。
内容的提问来源于stack exchange,提问作者Oli
相关产品推荐
相关产品推荐

