codeigniter中的复选框问题

时间:2011-04-26 03:58:40

标签: php

我的应用程序中有3个复选框。对应每个复选框都有一个文本框。当一个复选框是selelecte时,我想输入相应文本框的值。我使用表单验证实用程序来处理这个问题。它的工作正常。但我的问题是,当我提交我的表单并选中复选框时,它会在提交后取消选中。

2 个答案:

答案 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');
}
相关问题