Le javascript très simple ne fonctionne pas du tout

Mon javascript dans le fichier .php (site statique) ne fonctionne pas. J'utilise 3 autres scripts et ils fonctionnent, mais pas celui-ci.

La situation est simple

Le javascript est …

var myFile = document.getElementById('myFile'); myFile.addEventListener('change', function() { alert(this.files[0].size); }); 

Et le code HTML dans le fichier PHP est (dépouillé)

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

Et le javascript ne fait rien, il agit comme s'il n'existait pas. J'ai essayé d'utiliser le JS dans l'en-tête, sous l'en-tête, dans le corps, dans le TD de l'entrée … J'ai également essayé de l'utiliser dans le fichier .js externe, rien, ne fonctionne pas du tout. J'ai essayé de changer "changer" en "clic", n'a pas fonctionné non plus. J'ai essayé de le faire toute la journée et je ne peux pas comprendre ce qui ne va pas.

J'ai donc essayé de faire un code beaucoup plus simple pour vérifier ce qui ne va pas et il semble que "changer" ou "changer" – la deuxième ligne de JS ne fonctionne pas.

J'ai également essayé de spécifier le doctype HTML5, ne fait rien.

Mon fichier .html supplémentaire pour essayer un code encore plus simple ressemble à ceci et bien sûr ne fonctionne pas …

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

Aidez-moi s'il vous plaît, je ne sais pas vraiment ce que c'est … J'ai oublié de mentionner, j'ai essayé différents navigateurs – Opera 12.15, dernier FF et Chrome, ne fonctionnait en aucun cas. Mais ça marche en violon … merci pour toute aide à l'avance

Mettez le script juste à la fin du corps, juste avant la </body> finale </body> .

Les scripts sont chargés de manière synchrone où ils sont placés, de sorte que tout script mis en avant avant l'élément en question ne sera pas conscient de l'existence de l'élément.

Aussi, qu'est-ce que Igor a dit.

Vous n'avez pas d'élément DOM avec id "myFile" en html que vous avez inclus.