在不成功的表单验证将用户返回到同一表单后,我有一个问题是重新填充一组复选框.下拉菜单和文本输入可以重新填充,但不能重新填充!
这是复选框代码的片段:
<td>
<?php echo form_checkbox('ambience[]', 'casual', set_checkbox('ambience[]', 'casual')); ?> Casual <br />
<?php echo form_checkbox('ambience[]', 'romantic', set_checkbox('ambience[]', 'romantic')); ?> Romantic <br />
<?php echo form_checkbox('ambience[]', 'outdoor', set_checkbox('ambience[]')); ?> Outdoor / Alfresco <br />
<?php echo form_checkbox('ambience[]', 'trendy', set_checkbox('ambience[]')); ?> Hip & Trendy <br />
<?php echo form_checkbox('ambience[]', 'vibrant', set_checkbox('ambience[]')); ?> Vibrant <br />
<?php echo form_checkbox('ambience[]', 'up_scale', set_checkbox('ambience[]')); ?> Upscale <br />
</td>
Run Code Online (Sandbox Code Playgroud)
成功重新填充的文本输入的代码段是:
<?php echo form_dropdown('price_range', $options, set_value('price_range')); ?>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我真的很困惑为什么set_checkbox
不像宣传的那样工作.
小智 22
为了使set_checkbox正常工作,需要在该元素上使用实际的验证规则.我遇到了这个问题,在重新提交之前无法获得重新提交的值:
$this->form_validation->set_rules('checkbox_name', 'checkbox_title', 'trim');
Run Code Online (Sandbox Code Playgroud)
然后,一切都很完美.
Fra*_*nes 12
你set_checkbox
打电话是错的.当您在form_checkbox中使用类似"ambience []"的数组时,您不希望在set_checkbox
调用中包含方括号([]).另一个问题是set_checkbox需要第二个参数,您只包含在前2个复选框中.
set_checkbox应该总是这样:
set_checkbox('ambience', 'value');
Run Code Online (Sandbox Code Playgroud)
其中'value'是form_checkbox
调用的第二个参数.像这样:
form_checkbox('ambience[]', 'value', set_checkbox('ambience', 'value'));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23224 次 |
最近记录: |