You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:45:03