如何将图像上传与ajax jquery表单提交一起添加

如何将图像上传与ajax jquery表单提交一起添加,jquery,ajax,codeigniter,image-upload,Jquery,Ajax,Codeigniter,Image Upload,我正在使用ajax jquery提交表单。我想上传一个图像以及其他字段 是否可以对当前脚本进行更改以完成此任务,或者是否需要重做所有内容:- 我的jquery是:- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> <script type="text/javascript">

我正在使用ajax jquery提交表单。我想上传一个图像以及其他字段

是否可以对当前脚本进行更改以完成此任务,或者是否需要重做所有内容:-

我的jquery是:-

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>

<script type="text/javascript">
    $(function () {
        $(".submit").click(function () {
            var article_title = $("#article_title").val();
            var article_body = $("#article_body").val();

            var dataString = 'article_title=' + article_title + '&article_body=' + article_body;

            if (article_title == '' || article_body == '') {
                $('.success').fadeOut(200).hide();
                $('.error').fadeOut(200).show();
            } else {
                $.ajax({
                    type: "POST",
                    url: "<?php echo site_url().'/main/submit_article'?>",
                    data: dataString,
                    success: function () {
                        //$('.success').fadeIn(200).show();
                        $('#article_form')[0].reset();
                        $('.error').fadeOut(200).hide();
                    }

                });
            }

            return false;
        });
    });
</script>

$(函数(){
$(“.submit”)。单击(函数(){
var article_title=$(“#article_title”).val();
var article_body=$(“#article_body”).val();
var dataString='article_title='+article_title+'&article_body='+article_body;
如果(文章标题=“”| |文章正文=“”){
$('.success').fadeOut(200.hide();
$('.error').fadeOut(200.show();
}否则{
$.ajax({
类型:“POST”,
url:“”,
数据:dataString,
成功:函数(){
//$('.success').fadeIn(200.show();
$('文章形式')[0].reset();
$('.error').fadeOut(200.hide();
}
});
}
返回false;
});
});
我的HTML表单:-

<form name="article_form" id="article_form" class="article_form" method="POST" action="">
    <input type="text" name="article_title" id="article_title" placeholder="Title for your article" /> <!--<input type="file" name="pic" />-->
    <br>
    <textarea rows="12" name="article_body" id="article_body" placeholder="Tell your story"></textarea>
    <br>
    <input type="submit" name="submit" id="submit" value="Post" class="submit"/>
</form>




为什么不使用
jQuery.form
插件

这个插件可以有效地处理文件上传

用于清除字段

$(':input','#myform').not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');

让我给你一个省时的方法,试试:

上传

或者你可以试试:

Jquery表单

如果您需要进度条、多个上载、拖放


使用这些工具和插件,减轻压力。除非你有更好的想法,否则不要重新发明轮子。

enctype=“multipart/form data”添加到表单元素中。

你需要jQuery.form插件来帮助我,我没有得到你。它检查字段是否为空。这是工作到现在为止。@DipeshParmar我是否可以将它与我写的脚本集成,而无需进行重大更改?您可以。。。无需进行重大更改。@DipeshParmar嘿,我无法将malsup与codeigniter一起正确使用。它加载一个单独的页面-Parmer Hi,cud u帮助我在表单提交后清除表单字段。我认为应该使用clearForm,但我不确定我是如何尝试的:-var options={clearForm:true}它不是working@StacyJ查看我的答案更新。在成功中调用它回拨不它不工作。我将#myform更改为#myform,因为我表单的名称和id是myform。我将其粘贴在$('#myForm').ajaxForm(function(){//alert(“感谢您的评论!”);})之后;然后我试着在$(document).ready(function())关闭后放置它。仍然不走运