我在验证失败后重新填充CodeIgniter表单时遇到问题。
HTML:<label for="public">Anyone</label>
<input type="radio" name="target" value="public" <?php echo set_radio('target', 'public', TRUE); ?> />
<label for="direct">Specific</label>
<input type="radio" name="target" value="direct" <?php echo set_radio('target', 'direct'); ?> />
当我第一次加载表单时,我得到这个源代码:
<label for="public">Anyone</label>
<input type="radio" name="target" value="public" checked="checked" />
<label for="direct">Specific</label>
<input type="radio" name="target" value="direct" />
…所以第三个参数生效了(默认为"TRUE")
但是当我在其他字段上提交带有验证错误的表单时,表单被重新加载,没有选中单选按钮。
提交后的var_dump($_POST)
(在其他字段有故意的验证错误)显示如下:
array (size=9)
'target' => string 'direct' (length=6)
...
但没有选择单选按钮。
必须是一些简单的…帮助吗?
答案显然是在单选按钮中添加一个假规则。
$this->form_validation->set_rules("tenderType", "", "trim");
感谢@FuzzyTree在这里指出解决方案:stackoverflow.com/q/16473459/3574819