Uncaught TypeError: Impossible de lire la valeur de propriété de null

Je suis nouveau sur jQuery et j'essaie de créer un formulaire de connexion qui bascule un texte lorsque l'utilisateur saisit un nom d'utilisateur court. Voici donc mon code et quand je clique sur le bouton, rien ne se passe. J'ai vérifié la console et il dit l'erreur sur le titre sur la ligne particulière dans mon code. J'ai vérifié les fautes de frappe possibles, mais je n'ai pas vu aucun. Voici donc mon code:

<!DOCTYPE HTML> <html> <head> <script type="text/javascript" src = "jquery-2.1.1.min.js"></script> <script type="text/javascript"> var usr = document.getElementById("textbox1").value;//error is over this line. if(usr.length<=6){ $(document).ready(function(){ $("#press").click(function(){ $("#warning").toggle(); }); }); } </script> </head> <body> <div id = "middleBlock"> <form> <p id = "username"> Username </p> <p id = "password"> Password </p> <input type="text" name="user" id="textbox1"> <input type="password" name="pass" id="textbox2"> <input type = "button" value = "LOG IN" id = "press"> <p id = "note"> Note: Use the username and password provided by your department. </p> <div id = "warning" style = "display:none;padding:3%;">Username too short.</div> </form> </div> </body> 

Déplacez votre script vers la fin du body ou enveloppez-le dans une fonction DOM ready. Votre getElementById s'exécute avant que la page ne soit rendue, ce qui entraîne une erreur nulle.

Exemple:

 $(document).ready(function(){ var usr = document.getElementById("textbox1").value;//error is over this line. if(usr.length<=6){ $("#press").click(function(){ $("#warning").toggle(); }); } });