7

我的 .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 文件中使用它,什么都没有,根本不起作用。我尝试将“更改”更改为“单击”,也没有工作。我整天都在尝试这样做,但我不知道出了什么问题。

因此,我尝试编写更简单的代码来检查问题所在,看起来像是“更改”或“onchange”——JS 的第二行不起作用。

我也尝试指定 HTML5 文档类型,没有做任何事情。

我尝试更简单代码的额外 .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,无论如何都不起作用。但它在小提琴中起作用......提前感谢您的帮助

4

2 回答 2

11

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

脚本在它们被放置的地方同步加载,因此任何放在相关元素之前的脚本都不会意识到该元素的存在。

还有,伊戈尔说的。

于 2013-06-04T21:07:57.657 回答
2

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

于 2013-06-04T21:07:47.787 回答