我的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中完成了验证。但问题是,当我点击提交按钮和PHP代码给出错误时,该选项返回到默认值。我也读过类似的问题。 但是有一个PHP代码,如果性别被选为男性回声男性其他回声默认。因为我选择了默认选项。
提前致谢
此致
阿莫德(印度)
答案 0 :(得分: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>
当然,如果你将自动生成的选项与循环一起使用(保持代码干燥)会更容易。
编辑:如果未选择任何内容,则默认选择第一个选项。给这个没有价值。 this User Experience question
中有一些更有价值的信息<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>