如果我的页面上有此代码,则可以使用
的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
。
答案 0 :(得分:0)
jQuery结果集没有files
属性,您需要直接访问该元素:
var files = $("#fileInput")[0].files;
或
var files = $("#fileInput").prop('files');