2016-12-17 27 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

獲得使用$ _ POST [ 'logo_size']的數值,但你需要把名字= 「logo_size」 在你輸入申請 – 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

@ SHAILESH感謝幫助,它的工作,但我有font_selector從下拉菜單中選擇字體。我用div來創建它,那麼我怎樣才能把它看成是價值? – Deepak

相關問題