2017-01-20 7 views
0

CodeIgniterでは、フォーム入力タイプ=ファイルは、フォーム検証後にすでに選択されているデータを他のフィールドで再配置しませんでした。 これを行う方法。in codeigniterファイル入力タイプのフォームデータを再投入する方法

タイプ入力タイプ=ファイルのフォームを編集している間に、以前のアップロードされたイメージの値を保持する方法と、アップロードする新しいイメージを選択しない場合、フォームは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> 
+0

検証が失敗した後にコントローラからビューをリダイレクトするか、コントローラからビューをロードしていますか? –

+0

と画像の更新のために、私があなたが適用したものを提案することができます。ファイルや画像を更新する場合は、ファイルを表示します(私の場合は画像があります)、ファイル入力フィールドを更新してください。 –

+0

検証が失敗した後にビューをロードしています。 –

答えて

0

value属性でこれを試してみてください:

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

は、私はそれが良い解決策だか、少なくともそれが動作するかどうかはわかりません。

まず、検証が失敗した場合でもイメージをアップロードし、イメージの名前をセッションに保存し、入力の横に印刷してイメージが設定されていることをユーザーに示します。

妥当性検査が成功した場合は、フォームを処理してイメージのセッションを削除するだけです。

時には、ユーザーが以前の画像ではなく別の画像をアップロードする場合があります。この場合、セッションから名前を確認して以前の画像を削除し、セッションに新しい画像の名前を保存します。名前を無効にする。

私はこの方法を試みてくれました。もう一度この良い方法がわからない場合。

関連する問題