检查文件是否加载到<input type =“file”/>

时间:2014-07-29 13:57:04

标签: jquery

所有内容都在标题中:如何检查文件是否已加载到<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

3 个答案:

答案 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 />');
    }
});

我希望这有帮助!