我的应用程序中有3个复选框。对应每个复选框都有一个文本框。当一个复选框是selelecte时,我想输入相应文本框的值。我使用表单验证实用程序来处理这个问题。它的工作正常。但我的问题是,当我提交我的表单并选中复选框时,它会在提交后取消选中。
答案 0 :(得分:0)
如果要使用值重新显示相同的表单,则可能已在每个输入字段的value属性中使用echo set_value('field_name')
:
<label for="field">Field</label>
<input id="field" name="field" value="<?php echo set_value('field'); ?>" class="text" type="text">
使用复选框,您可以通过以下方式使用 set_checkbox
功能执行此操作:
<ul>
<li>
<input id="consult-option1" name="consult[]" value="option 1" <?php echo set_checkbox('consult[]', 'option 1') ?> class="checkbox" type="checkbox">
<label for="consult-option1">Option 1</label>
</li>
<li>
<input id="consult-option2" name="consult[]" value="option 2" <?php echo set_checkbox('consult[]', 'option 2') ?> class="checkbox" type="checkbox">
<label for="consult-option2">Option 2</label>
</li>
<li>
<input id="consult-option3" name="consult[]" value="option 3" <?php echo set_checkbox('consult[]', 'option 3') ?> class="checkbox" type="checkbox">
<label for="consult-option3">Option 3</label>
</li>
</ul>
注意输入中的echo set_checkbox('consult[]', 'option 1')
。如果应该检查属性checked="checked"
,它会回显它。该函数位于Form帮助器内,它接收两个参数,复选框的名称和复选框的值,如其值属性中所定义。
如果清楚或者我应该更清楚地编辑和书写,请告诉我。再见
答案 1 :(得分:0)
在寻求答案数小时后没有任何成功。 我想出了这个。 视图:
<br/>
<input type="checkbox" id="active" <?=$is_active;?> name="active">
<br/>controller:<br/>
$this->form_validation->set_rules('active', lang('active'), 'required');
<br/>if ($this->input->post('active') == 'on'){ // active input field is checked.
<br/>$data['is_active'] = 'checked';
<br/>}else{ // active input field is unchecked.
<br/>$data['is_active'] = '';
<br/>}
<br/>
在我的情况下,我必须在选择另一个字段时检查规则,所以我也使用了这个(但这只是可选的)
if ($this->input->post('item_type') == '1') {
$this->form_validation->set_rules('auction_time', lang('Auction time'), 'trim|required');
$this->form_validation->set_rules('active', lang('active'), 'required');
}