-3

我在 HTML 中有这段代码

<tr>
<td>
Gender:
</td>
<td>
<select name="Gender">
<option selected="" value="Default">
Gender
</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</td>
</tr>

我已经在 php.ini 中完成了验证。但问题是当我点击提交按钮并且 php 代码给出错误时,该选项会返回默认值。我读过与此类似的问题。但是是否有一个 php 代码,比如如果选择性别为男性回声男性,则回声默认。因为我选择了默认选项。

提前致谢

问候

阿莫德(印度)

4

1 回答 1

0

你可以做的是:

<select name="Gender">
  <option>
    Gender
  </option>
  <option <?php if ($_POST['Gender'] == "Male") echo "selected"; ?> value="Male">
    Male
  </option>
  <option <?php if ($_POST['Gender'] == "Female") echo "selected"; ?> value="Female">
    Female
  </option>
</select>

当然,如果您使用带有循环的自动生成选项(保持代码干燥),会容易得多。

编辑:如果未选择任何内容,则默认情况下将选择第一个选项。给这个没有价值。这个用户体验问题中有一些更有价值的信息

<select name="Gender">
  <option>
    Gender
  </option>
  <?php foreach (array('Male', 'Female') as $Gender) { ?>
    <option <?php if ($_POST['Gender'] == $Gender) echo "selected"; ?> value="<?php echo $Gender; ?>">
      <?php echo $Gender; ?>
    </option>
  <?php } ?>
</select>

如果您启用了短标签,您可以这样做:

<select name="Gender">
  <option>
    Gender
  </option>
  <? foreach (array('Male', 'Female') as $Gender) { ?>
    <option <? if ($_POST['Gender'] == $Gender) echo "selected"; ?> value="<?= $Gender; ?>">
      <?= $Gender; ?>
    </option>
  <? } ?>
</select>
于 2013-05-16T12:26:33.690 回答