65

如果我有一个

<input id="uploadFile" type="file" />

标签和提交按钮,如果用户选择了文件,我如何在 IE6(及更高版本)中确定。

在FF中,我只是这样做:

var selected = document.getElementById("uploadBox").files.length > 0;

但这在 IE 中不起作用。

4

5 回答 5

123

这适用于 IE(和 FF,我相信):

if(document.getElementById("uploadBox").value != "") {
   // you have a file
}
于 2008-09-05T16:33:12.597 回答
8

这段代码在我的本地环境中工作,希望它也能在现场工作

var nme = document.getElementById("uploadFile");
if(nme.value.length < 4) {
    alert('Must Select any of your photo for upload!');
    nme.focus();
    return false;
}
于 2014-03-03T16:51:42.157 回答
4
function validateAndUpload(input){
    var URL = window.URL || window.webkitURL;
    var file = input.files[0];

    if (file) {
        var image = new Image();

        image.onload = function() {
            if (this.width) {
                 console.log('Image has width, I think it is real image');
                 //TODO: upload to backend
            }
        };

        image.src = URL.createObjectURL(file);
    }
};​

<input type="file" name="uploadPicture" accept="image/*" onChange="validateAndUpload(this);"/>

在 change 上调用此函数。

于 2017-03-24T03:09:24.127 回答
2

您可以使用:

    var files = uploadFile.files;

    if (files.length == 0) { console.log(true) } else { console.log(false) }
    if (files[0] == undefined) { console.log(true) } else { console.log(false) }
    if (files[0] == null) { console.log(true) } else { console.log(false) }

这三个都给出相同的结果。

于 2018-05-18T15:51:59.097 回答
0

您可以使用 c# 在 asp.net 中检查它:

html:

<input id="FileID" runat="server" type="file"/>

C#:

if(FileID.PostedFile.FileName != "")
{
    // do whatever you want if file is selected
}
else
{
    //do whatever you want if no file is selected
}
于 2021-11-25T12:30:00.583 回答