加载Javascript监听器 - 不加载 [英] Javascript listener on load - not loading

查看:126
本文介绍了加载Javascript监听器 - 不加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a JS listener to check file type on file upload (input type file).

我将它放在文档的头部。它应该在加载时工作,但它不工作。

I placed it in the head of the document. It should work on load but it's not working.

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

我的HTML

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

我可以在小提琴中做这个工作,但不能在我的文档中 - http://jsfiddle.net/4JHgk/

I can make this work in the fiddle but not in my document - http://jsfiddle.net/4JHgk/

推荐答案

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

Make sure your script tag appears after your html declaration of the input and/or wrapt your function, like this:

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

这篇关于加载Javascript监听器 - 不加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆