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

时间:2013-06-04 21:04:37

标签: javascript html dom javascript-events

我的.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,无论如何都没有用。但它适用于小提琴......感谢您提前提供任何帮助

2 个答案:

答案 0 :(得分:9)

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

脚本在放置它们的位置同步加载,因此在之前放入中的任何脚本都不会知道该元素是否存在。

另外,伊戈尔说的是什么。

答案 1 :(得分:2)

您在html中没有包含ID为“myFile”的DOM元素。