2016-12-17 17 views
1

私は入力タイプファイルと他のフォームフィールドを含む単純なフォームを持っています。私は入力型ファイルデータをコントローラに送ることができますが、入力型ファイルと一緒に他のフォームデータを送る問題があります。
フォーム - -codeIgniterでajaxを使用して入力データと一緒にフォームデータを送信

<form method="post" id="theme_option_form" enctype="multipart-formdata"> 
     Logo :<input type="file" name="image_file" id="image_file"> 
     Logo Size :<input type="text" id="logo_size" class="form-control input-sm"> 
     Heading Size :<input type="text" id="hding_size" class="form-control input-sm"> 
     <input type="submit" name="upload" id="upload" value="Upload" class="btn btn-primary btn-sm"> 
</form> 

のAjaxコード -

$('#theme_option_form').on("submit",function(e){ 
    var hding_size=$('#hding_size').val(); 
    var logo_size=$('#logo_size').val(); 
       $.ajax({ 
        url:base_url+'admin/theme_options_data', 
        method:'post', 
        data:new FormData(this), 
        contentType:false, 
        cache:false, 
        processData:false, 
        success:function(data){ 
         alert(data); 
        } 
       });   
}); 

コントローラ機能 -

public function theme_options_data() 
{ 
     if(isset($_FILES['image_file']['name'])) 
     { 
      $this->load->helper('string'); 
      $logo_name=random_string('alnum',5); 
      $config['upload_path']='./upload'; 
      $config['allowed_types']='jpg|jpeg|png|gif'; 
      $config['file_name']=$logo_name; 
      $this->load->library('upload',$config); 
      if(!$this->upload->do_upload('image_file')) 
      { 
       echo $this->upload->display_errors(); 
      } 
      else 
      { 
       $data=$this->upload->data(); 
      } 
      } 

    } 

ファイルのアップロードが正常に動作しているのが、私
ここ は、私がこれまでにやっていることですフォームデータ(ロゴサイズ、見出しサイズなど)をコントローラに送信し、後ですべてのデータをデータベースに保存する必要があります。
私を助けてください。
ありがとう

+0

ためのShaileshのおかげで@ – webDev

答えて

0

フォーム ...フィールドの名前を入れてください。

<form method="post" id="theme_option_form" enctype="multipart-formdata"> 
    Logo :<input type="file" name="image_file" id="image_file"> 
    Logo Size :<input type="text" name="logo_size" id="logo_size" class="form-control input-sm"> 
    Heading Size :<input type="text" name="hding_size" id="hding_size" class="form-control input-sm"> 
    <input type="submit" name="upload" id="upload" value="Upload" class="btn btn-primary btn-sm"> 

コントローラ

public function theme_options_data() 
{ 
     if(isset($_FILES['image_file']['name'])) 
     { 
      $this->load->helper('string'); 
      $logo_name=random_string('alnum',5); 
      $config['upload_path']='./upload'; 
      $config['allowed_types']='jpg|jpeg|png|gif'; 
      $config['file_name']=$logo_name; 
      $this->load->library('upload',$config); 
      if(!$this->upload->do_upload('image_file')) 
      { 
       echo $this->upload->display_errors(); 
      } 
      else 
      { 
       $data=$this->upload->data(); 
      } 
      } 
     $logo_size = $_POST['logo_size']; 
     $heading_size = $_POST['hding_size']; 
    } 
+0

を提出した[ 'logo_size'] $ _POSTを使用してこれらの値を取得していますが、あなたの入力に名前= "logo_size" を置く必要がありますヘルプ、それは動作しているが、私はfont_selectorを使ってドロップダウンからフォントを選択しています。私はそれを作成するためにdivを使用しました。だから、どうすればそれを価値にするのですか? – Deepak

関連する問題