使用jquery获取上传的表单数据

时间:2015-08-03 06:04:20

标签: jquery

如何在发布之前以下列方式获取表单的详细信息,  或至少文件的细节(名称,大小等)。

{"photo":{"name":"Vishnuvardhan.Siddareddy@fisglobal.com_F16.pdf","type":"application\/pdf","tmp_name":"\/tmp\/phpGHoRhJ","error":0,"size":72057}} 

如果我发出警报(formdata),它会显示[object formdata]。

jquery代码

 $("#applyBtn").click(function(){
            var formObj = $('#multiform');
            var formURL = formObj.attr("action");           
            var formData = new FormData(this);

                alert(formData);
                return false;

            $.ajax({
                    url: formURL,
                    type: "POST",
                    data:  formData,
                    mimeType:"multipart/form-data",
                    contentType: false,
                    cache: false,
                    processData:false,
                    success: function(data, textStatus, jqXHR)
                    {

                    },
                    error: function(jqXHR, textStatus, errorThrown) 
                    {
                    }           
               });
                e.preventDefault();

    });

2 个答案:

答案 0 :(得分:0)

FormData接口没有从中获取数据的方法,因此您需要在构建this对象之前从FormData对象中提取数据。

答案 1 :(得分:0)

根据您的文件ID,您可以使用getElementById获取所有相关信息,然后获取该元素的文件属性并对其进行解析。假设您只上传了一个文件,则需要文件[0]。

<强> HTML:

<input type='file' onchange='get_info()' id = 'the_file' />

<强>使用Javascript:

get_info = function(){
    the_file = document.getElementById('the_file');
    console.log(the_file.files[0]);
}

小提琴: http://jsfiddle.net/trex005/8pvhnfz9/

我会继续让你把它放到你想要的对象格式中。