所有内容都在标题中:如何检查文件是否已加载到<input type="file">
?
<input type="file" id="document-file" />
<input type="submit" id="document-send" />
<script type="text/javascript">
$('#document-send').click(function(event){
event.preventDefault();
var files = $("#document-file");
console.log(files.length);
}
</script>
即使没有加载文件, files.length
始终会返回1
。
答案 0 :(得分:2)
您可以检查元素的files
属性,而不是jQuery对象:
var files = $("#document-file")[0].files;
答案 1 :(得分:1)
您可以尝试读取输入是否具有值:
if(document.getElementById("document-file").value != ""){
// do stuff here
}
如果是,则是一个文件,如果没有,则为空。它向后兼容不支持fileReaders的浏览器。
答案 2 :(得分:0)
您想要检查输入的.val()
,然后检查该值的.length
。
<强> DEMO 强>
以下是我在小提琴中的表现。
$('button').click(function(){
var files = $("#document-file").val();
if(files.length > 0){
$('body').append(files + '<br />');
} else {
$('body').append('No File <br />');
}
});
我希望这有帮助!