html 如何确定用户是否选择了要上传的文件?

fzwojiic  于 2022-11-27  发布在  其他
关注(0)|答案(5)|浏览(175)

如果我有

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

标签和提交按钮,如何确定文件是否已被用户选择。
在FF中,我只做:

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

但这在IE中不起作用。

0pizxfdo

0pizxfdo1#

这在IE(和FF,我相信)中是有效的:

if(document.getElementById("uploadBox").value != "") {
   // you have a file
}
mwecs4sa

mwecs4sa2#

var nme = document.getElementById("uploadFile");
if(nme.value.length < 4) {
    alert('Must Select any of your photo for upload!');
    nme.focus();
    return false;
}
ohfgkhjo

ohfgkhjo3#

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);"/>

更改时调用此函数。

k97glaaz

k97glaaz4#

您可以用途:

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) }

这三种给予的结果相同。

92dk7w1h

92dk7w1h5#

已接受的答案是否正确,以“ID”进行检查
但是,那些在这里检查文件的人有类名
代码如下:

var elements = document.getElementsByClassName('uploadFile_ClassName');
for (var i = 0; i < elements.length; ++i) {
    if(elements[i].value != "") {
        // file is selected here;
    }
}

相关问题