我正在尝试提交简单的表单数据以及多个复选框选项。
但是在表单验证中,这些复选框选项未选中就返回。
查看代码
<?php echo form_checkbox( array('id' => 'check_passport', 'name' => 'purchaser_meta[]','value'=>'Passport','class'=>'form-check-input' )); ?>
<?php echo form_label('Passport','check_passport');?>
<?php echo form_error('resident_passport'); ?>
控制器代码
$this->load->library('form_validation');
$this->form_validation->set_rules('purchaser_meta','Purchaser Type Meta','trim|required');
尽管如此,它捕获了从这些复选框提交的值。
与$this->input->post('purchaser_meta')
类似,返回已提交的值array(3) { [0]=> string(8) "Passport" [1]=> string(4) "Visa" [2]=> string(11) "ID" }
的数组。
进一步查看这些图像。
提交表格且选项已选中
提交表单后/发生表单验证
问题:我希望这些复选框在表单验证错误时保持选中状态。我不知道我在这里想念什么?
答案 0 :(得分:0)
当您提交表单时,您将在返回数组中获得复选框的值。 如此简单,您只需检查是否...其他条件。是否已选中或未选中。
$arrayval = array{"Passport","Visa","ID"};
if (in_array("Passport", $arrayval)){
echo "Checked";
}
为所有复选框输入相同的代码。
也许这对您有帮助。
答案 1 :(得分:0)
尝试这样
<?php echo form_checkbox( array('id' => 'check_passport', set_checkbox('purchaser_meta[]','check'), 'name' => 'purchaser_meta[]','value'=>'Passport','class'=>'form-check-input' )); ?>
答案 2 :(得分:0)
//用这个替换set_checkbox
set_checkbox('purchaser_meta','Passport',false)