从Jquery中的输入字段获取文件

时间:2014-11-26 11:39:20

标签: javascript jquery

如果我的页面上有此代码,则可以使用

的index.html

<input type="file" name="data[Post][picture]"  hidden="1" onchange="uploadPhoto(this.files)" id="PostPicture"/>

的script.js

function uploadPhoto(files){

    //TODO

    console.log(files);
}

但该代码要求我将uploadPhoto()函数放在jquery $()函数之外。我对变量范围有一些问题,所以我不想让我的函数超出document.ready函数。

因为我做了类似的事情

$(function(){
    var uploadPhoto = function(){


        //TODO

        console.log($('#PostPicture').files);
    };

    $('#PostPicture').on('change',uploadPhoto);
});

并在控制台中记录undefined

1 个答案:

答案 0 :(得分:0)

jQuery结果集没有files属性,您需要直接访问该元素:

var files = $("#fileInput")[0].files;

var files = $("#fileInput").prop('files');

来源:https://stackoverflow.com/a/13747921/441907