2015-02-15 4 views
0

Получите эту странную ошибку. Я изучаю javaScript и копирую код откуда-то и запускаю его, но получаю сообщение об ошибке. Вот код. Измените пустую строку на любую другую вещь, например «Тест». Я по-прежнему получаю ту же ошибку.Невозможно установить свойство «innerHTML» неопределенной или нулевой ссылки

<script> 

    function theAge() { 
     var message, x; 
     message = document.getElementById("message"); 
     message.innerHTML = ""; 
     x = document.getElementById(age).value; 
     try { 
      x=Number(x); 
      if(x=="") throw "is empty"; 
      if(isNaN(x)) throw "is not a number"; 
      if(x>10) throw "is too high"; 
      if(x<5) throw "is too low"; 
     } 
     catch (err) { 
      message.innerHTML = "input" + err; 
     } 
    } 
</script> 
+3

У вас не должно быть элемента с идентификатором 'message', когда вы вызываете' theAge'. –

+0

можете ли вы разместить свою часть HTML? и где определяется переменная «возраст»? – nanndoj

+0

2 года спустя, и если вы являетесь [известным вопросом] (https://stackoverflow.com/help/badges/28/famous-question?userid=2690460), вы хотите принять ответ или опубликовать соответствующий с теми знаниями, которые вы приобрели с тех пор? – aaron

ответ

6

Похоже, у вас есть опечатка здесь

x = document.getElementById(age).value; 

попробовать

x = document.getElementById("age").value; 
+0

Да, не ставил возраст в «возраст». Большое спасибо! –

2

Вы должны иметь элемент для сообщения и один для возраста в вашем HTML. А также поставить термин возраст между ""

See it working here

HTML Пример:

<div> 
    Age: <input type="text" id="age" /> </br> 
    Message: <div id="message"> </div> </br> 
    <button onclick="theAge()">Click</button> 
</div> 

JS код

function theAge() { 
    var message, x; 
    message = document.getElementById("message"); 
    message.innerHTML = ""; 
    x = document.getElementById("age").value; 
    try { 
     x=Number(x); 
     if(x=="") throw "is empty"; 
     if(isNaN(x)) throw "is not a number"; 
     if(x>10) throw "is too high"; 
     if(x<5) throw "is too low"; 
    } 
    catch (err) { 
     message.innerHTML = "input" + err; 
    } 
} 
0

вы используете серверный элемент управления ... метод использования JQuery

$ ("# controlID") h TML();

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