Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript侦听器已加载-未加载_Javascript_Html_Dom_Addeventlistener - Fatal编程技术网

Javascript侦听器已加载-未加载

Javascript侦听器已加载-未加载,javascript,html,dom,addeventlistener,Javascript,Html,Dom,Addeventlistener,我有一个JS监听器来检查文件上传时的文件类型(输入类型文件) 我把它放在文件的开头。它应该在负载下工作,但不工作 <script type="text/javascript"> document.getElementById('confirm').addEventListener('change', checkFile, false); approveletter.addEventListener('change', checkFile, false); function c

我有一个JS监听器来检查文件上传时的文件类型(输入类型文件)

我把它放在文件的开头。它应该在负载下工作,但不工作

 <script type="text/javascript">
 document.getElementById('confirm').addEventListener('change', checkFile, false);
 approveletter.addEventListener('change', checkFile, false);

function checkFile(e) {

var file_list = e.target.files;

for (var i = 0, file; file = file_list[i]; i++) {
    var sFileName = file.name;
    var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1].toLowerCase();
    var iFileSize = file.size;
    var iConvert = (file.size / 10485760).toFixed(2);

    if (!(sFileExtension === "pdf" || sFileExtension === "doc" || sFileExtension === "docx" || sFileExtension === "png") || iFileSize > 10485760) {
         txt = "File type : " + sFileExtension + "\n\n";
        txt += "Size: " + iConvert + " MB \n\n";
             txt += "Please make sure your file is in pdf or doc format and less than 10 MB.\n\n";
        alert(txt);
     }
 }
}
 </script> 

document.getElementById('confirm')。addEventListener('change',checkFile,false);
approvletter.addEventListener('change',checkFile,false);
函数检查文件(e){
var file_list=e.target.files;
for(var i=0,file;file=file_list[i];i++){
var sFileName=file.name;
var sFileExtension=sFileName.split('.')[sFileName.split('.').length-1].toLowerCase();
var iFileSize=file.size;
var iConvert=(file.size/10485760).toFixed(2);
如果(!(sFileExtension==“pdf”| | sFileExtension==“doc”| | sFileExtension==“docx”| | sFileExtension==“png”)| iFileSize>10485760){
txt=“文件类型:”+sFileExtension+“\n\n”;
txt+=“大小:”+iConvert+“MB\n\n”;
txt+=“请确保您的文件是pdf或doc格式,并且小于10 MB。\n\n”;
警报(txt);
}
}
}
我的HTML

 <input type="file" name="file" id="confirm">


我可以在小提琴中完成这项工作,但不能在我的文档中完成-

确保脚本标记出现在输入的html声明之后和/或包装函数,如下所示:

window.onload=function(){
document.getElementById('confirm').addEventListener('change', checkFile, false);
approveletter.addEventListener('change', checkFile, false);

function checkFile(e) {

    var file_list = e.target.files;

    for (var i = 0, file; file = file_list[i]; i++) {
        var sFileName = file.name;
        var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1].toLowerCase();
        var iFileSize = file.size;
        var iConvert = (file.size / 10485760).toFixed(2);

        if (!(sFileExtension === "pdf" || sFileExtension === "doc" || sFileExtension === "docx" || sFileExtension === "png") || iFileSize > 10485760) {
            txt = "File type : " + sFileExtension + "\n\n";
            txt += "Size: " + iConvert + " MB \n\n";
            txt += "Please make sure your file is in pdf or doc format and less than 10 MB.\n\n";
            alert(txt);
        }
    }
}
}

不应该
var-var-iConvert=(file.size/1000).toFixed(2)
?另外,如果(!(sFileExtension.match(/^(pdf | doc(x)?| png)$/i))| iConvert>10),您可能应该执行不区分大小写的
if(!(sFileExtension.match)(/^(pdf | doc(x)?| png)$/i)
。不同的浏览器将使您的文件扩展名大写。已更改文件大小。它现在给出了正确的文件大小。这很有效。在正文结束之前将侦听器移动到页脚。