私は入力タイプファイルと他のフォームフィールドを含む単純なフォームを持っています。私は入力型ファイルデータをコントローラに送ることができますが、入力型ファイルと一緒に他のフォームデータを送る問題があります。
フォーム - -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();
}
}
}
ファイルのアップロードが正常に動作しているのが、私
ここ は、私がこれまでにやっていることですフォームデータ(ロゴサイズ、見出しサイズなど)をコントローラに送信し、後ですべてのデータをデータベースに保存する必要があります。
私を助けてください。
ありがとう
ためのShaileshのおかげで@ – webDev