我有一个使用下拉菜单的表单,我使用 codeigniter 、表单助手和表单验证
因此,当我在表单中收到验证错误时,所有正确输入的字段都会使用 codeigniter 的 set_value 进行填充,但这不适用于下拉列表
我正在做 :
<?php echo form_dropdown('mid', $id_map, set_value('mid'), 'id="mid"') ?>
当表单出现错误时,始终选择下拉列表的第一个值并且之前未设置
任何想法,我做错了什么?
正确的使用方法set_select()
is
<select name="myselect">
<option value="one" <?php echo set_select('myselect', 'one', TRUE); ?> >One</option>
<option value="two" <?php echo set_select('myselect', 'two'); ?> >Two</option>
<option value="three" <?php echo set_select('myselect', 'three'); ?> >Three</option>
</select>
所以安德拉斯·拉茨的方法/答案行不通。
你的方法是正确的。
<?php echo form_dropdown('mid', $id_map, set_value('mid'), 'id="mid"') ?>
但请记住set_value()
仅当您为其设置了验证规则时才会返回该值,在您的情况下mid
。你可以尝试如下 -
<?php echo form_dropdown('mid', $id_map, (isset($_POST['mid']) ? $_POST['mid'] : ''), 'id="mid"') ?>
或者只是设置一个验证规则mid
too
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)