【问题标题】:In codeigniter how to repopulate the form data for file input type在codeigniter中如何重新填充文件输入类型的表单数据
【发布时间】:2017-06-05 19:03:13
【问题描述】:

在 CodeIgniter 中,表单输入 type=file 不是重新填充其他字段表单验证失败后已经选择的数据。 如何做到这一点。

在编辑输入 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>

【问题讨论】:

  • 验证失败后,您是从控制器重定向还是从控制器加载视图?
  • 对于图像更新,我可以向您推荐一些我已经应用的东西。对于更新任何文件或图像,您向他们展示文件(在我的情况下我有图像)并将文件输入字段更新。
  • 验证失败后我正在加载视图。
  • 出于安全原因,您不能这样做。相反,您可以使用保存的文件链接在文件输入附近创建一个列表。

标签: forms file codeigniter


【解决方案1】:

在值属性中试​​试这个:

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

【讨论】:

    【解决方案2】:

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

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

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

    有时用户可能会改变主意并上传另一张图片而不是之前的图片,在这种情况下,只需通过查看会话中的名称来删除之前的图片并将新图片的名称保存在会话中以覆盖名字。

    我尝试了这种方法并为我工作。再次不确定这个方法好不好。

    【讨论】:

      猜你喜欢
      • 2016-01-22
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 2011-03-13
      • 2012-07-12
      • 1970-01-01
      相关资源
      最近更新 更多