2014-09-08 5 views
-1

Я новичок в jQuery и im, пытаясь создать форму входа, которая переключает текст, когда пользователь вводит краткое имя пользователя. Итак, вот мой код, и когда я нажимаю кнопку, ничего не происходит. Я проверил консоль, и она говорит об ошибке в заголовке в конкретной строке в моем коде. Я также проверял возможные опечатки, но я не видел. Так вот мой код:Uncaught TypeError: Не удается прочитать значение свойства null

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

поместить эту строку также внутри документа готового – juvian

ответ

6

Переместить ваш script к концу body или завернуть его в готовой функции DOM. Ваш getElementById выполняет перед визуализацией страницы, тем самым бросая нулевую ошибку.

Пример:

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

Спасибо! Это решило. – ejandra

Смежные вопросы