非常简单的JavaScript根本不起作用

参见英文答案 > Why does jQuery or a DOM method such as getElementById not find the element?6个
我在.PHP(静态网站)文件中的javascript不起作用.我在那里使用其他3个脚本并且它们可以工作,但不是这个.

情况很简单

javascript是……

var myFile = document.getElementById('myFile');

myFile.addEventListener('change',function() {

  alert(this.files[0].size); 
});

并且(剥离)PHP文件中的HTML代码

<form onsubmit="return anotherfunction();" action="sendForm.PHP" enctype="multipart/form-data" method="post">    
  <table>
    <tr>
        <td>Attach an image:</td>
        <td> <input type="file" name="priloha[]" accept="image/*" /></td>
    </tr>
  </table>
</form>

并且javascript什么都不做,它就像它不存在一样.我试图在标题中,标题下方,正文中,输入的TD中使用JS …我也尝试在外部.js文件中使用它,没有,根本不起作用.我尝试将“更改”更改为“单击”,但两者都不起作用.我整天试着这样做,我无法弄清楚出了什么问题.

所以我试着做更简单的代码来检查什么是错的,它似乎是“改变”或“改变” – JS的第二行不起作用.

我也尝试过指定HTML5 doctype,不做任何事情.

我的额外.html文件尝试更简单的代码看起来像这样,当然不起作用…

<!DOCTYPE html>
<html>
    <head>      
  </head> 
  <body>
    <table> 
        <tr>
            <td>Input field for click popup:</td>
            <td>
                <script type="text/javascript">
                var input = document.getElementById('input');
                input.addEventListener('click',function() {
                alert("Hello"); 
                });
                </script>
            <input type="text" id="input" />

            </td>
        </tr>
    <table>
    </body>  
</html>

请帮帮我,我真的不知道这是什么……
我忘了提及,我尝试了不同的浏览器 – Opera 12.15,最新的FF和Chrome,无论如何都没有用.但它适用于小提琴…感谢您提前提供任何帮助

解决方法

将脚本放在正文的末尾,就在< / body>之前.结束标记.

脚本在它们放置的位置同步加载,因此在相关元素之前放入的任何脚本都不会知道元素的存在.

而且,伊戈尔说的是什么.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...