使用jquery上传文件

时间:2016-12-04 19:11:45

标签: javascript jquery

我有一个上传表单,允许用户选择文件并将其与标题一起上传。上传是通过ajax完成的。问题是只传递标题中的值而不是文件。

动态添加行...

<form id="upload" enctype="multipart/form-data" method="post">
   <table width="100%" id="data">
</table>
<input name="submit" type="submit"  value="Submit"/>  
<input type="button" id="add" name="add" value="Add new row" /> 
</form>

的Javascript

$(document).ready(function() {
    var rowitem = 1;
    $('#add').click(function() {
        rowitem++;
        $('#items').val(rowitem);
        var dynarow = '<tr><td>PDF</td><td>:</td><td><input id="uploadfile1" name="userfile[]" accept="application/pdf" class="btn btn-next upload" type="file" required></td><td>Title:</td><td width="17%"><input name="actual[]"  type="text" /></td><td width="7%"></td> <td width="3%">: </td></tr>';
        $('#data').append(dynarow);

    });


    $("#upload").validate({
        submitHandler: function(form) {

            $.ajax({
                url: '<?php echo base_url(); ?>/upload',
                type: 'POST',
                data: $(form).serialize(),

                success: function(data) {
                    if (data) {

                        alert("success");
                    } else {

                        alert("error");

                    }


                },
                error: function(data) {

                    alert("error");
                },
                cache: false,
                contentType: false,
                processData: false
            });

            return false;


        }


    });


});

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我必须添加这个

  processData: false,
  contentType: false,