在codeigniter中如何重新填充文件输入类型的表单数据

时间:2017-01-20 17:50:28

标签: forms file codeigniter

在CodeIgniter中,表单输入type = file不会重新填充在其他字段的表单验证失败后已经选择的数据。 怎么做。

在编辑类型输入类型=文件的表单时,如何保持值上一个上传的图像,用户不选择要上传的新图像,那么表单不应返回false。

形式

<tr>
                <td class="formrow"><span>Contact Person Email Id</span><span style="color:red;">*</span></td>      
                <td class="formrow1">
            <input type="text" value="<?php echo $contact_person_email_id;?>" name="contact_person_email_id">
                    <span style="color:red;"><?php echo form_error('contact_person_email_id')?></span>
                </td>
                <td class="formrow">Company Logo<span style="color:red;">*</span></td>
                <td class="formrow1">
                <?php 
                if($id!=''){
                    ?>
                <img id="image" src="<?php echo base_url();?>uploads/<?php echo $company_logo;?>" width="150px" height="15px">
                <?php
                }
                ?>
                 <input type="file" value="<?php echo $company_logo;?>" name="company_logo" id="company_logo">
                    <span style="color:red;"><?php echo form_error('company_logo')?></span>
                </td>
            </tr>

2 个答案:

答案 0 :(得分:0)

在value属性中尝试此操作:

$this->form_validation->set_value('element_name')

答案 1 :(得分:0)

我不确定它是否是一个好的解决方案,至少它是否有效。

首先,即使验证失败,也要上传图像,并在会话中保存图像名称并将其打印在输入旁边,以向用户显示图像已设置。

稍后,如果验证成功,只需处理表单并删除图像的会话。

有时,用户可能会更改自己的想法并上传其他图片而不是上一张图片,在这种情况下,只需通过查看会话中的名称删除上一张图片并保存新图片的名称即可。会话覆盖名称。

我试过这种方法并且适合我。再次不确定这种方法是否好。