如何删除提交按钮并保存图像以及在codeigniter中使用ajax显示图像?

时间:2017-02-26 07:25:59

标签: javascript php jquery ajax codeigniter

大家好我想删除提交按钮并上传我的图像只有上传按钮。我也使用ajax将图像发送到数据库以及eupload文件夹。当我删除提交按钮并在我的表单中使用$(this).submit()时它没有显示任何内容,也没有运行ajax。 我究竟做错了什么? 这是我的代码                  

        {
            if(!$timeline_image=="")
            {
                $image_properties = array('src' => base_url("uploads/".$timeline_image),'width' => '900px','height'=> '400px','id'=>'coverimg', 'title' => 'That was quite a night','rel'   => 'lightbox');
                echo img($image_properties);
            }else{
                $timiline_image = array(
                    'src'   => base_url("assets/img/Facebook-cover.jpg"),
                    'width' => '900px',
                    'height'=> '400px',

                );

                echo img($timiline_image);
            }
            ?>
            <div id="timelineselector" class="col-md-3 grow">
                <?php echo form_open_multipart('',["id"=>"form_cover"]); ?>
                <input type="hidden" name="id" value="<?php echo $id ;?>">
                <?php echo form_upload(["name"=>"timelineimage","id"=>"timelineimage" ]); ?>
                <?php echo form_close(); ?>
            </div>
            <?php
        }
        ?>
    </div>
</div>

现在是ajax

    jQuery('#form_cover').submit(function(e) {
  e.preventDefault();
  var formData = new FormData(this);
  var url = '<?php echo base_url("user/coverimage"); ?>';
  formData.value
  jQuery.ajax({
    type: "POST",
    url: url,
    data: formData,
    cache: false,
    contentType: false,
    processData: false,
    success: function(data) {
      console.log(data);
      $('#coverimg').attr('src', data);
    },
    error: function(data) {
      //error function
    }
  });
});

1 个答案:

答案 0 :(得分:1)

jQuery .submit()是一个事件绑定器,它使用所需元素的submit事件绑定传递给它的函数。

要根据需要执行操作,您必须将submit侦听器替换为针对上传字段的on change侦听器。由于在删除提交按钮后,提交操作不会发生。

$('#timelineimage').change(function(e){
     // Logic
});