在codeIgniter中使用ajax发送表单数据以及输入类型文件
问题描述:
我有一个包含输入类型文件和其他表单字段的简单表单。我能够将输入类型的文件数据发送给控制器,但发送其他表单数据以及输入类型文件时出现问题。
以下是我迄今所做的 -
表 -在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();
}
}
}
文件上传工作正常,但我只需要发送表单数据(标志大小,标题大小等)到控制器,然后我必须将所有数据存储到数据库。
请帮帮我。
谢谢
答
表格 ...把领域的名字。
<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
获得使用$ _ POST [ 'logo_size']的数值,但你需要把名字= “logo_size” 在你输入申请 – webDev