ниже этого текста мой код Это хорошо работает, когда я ввод пустой/низкий Num/высокий Num однако, когда я строка ввода не работает хорошоя не могу исправить мою ошибку
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Show error message depending on input value by using try/catch/throw</h1>
<input type="text" id="input1">
<button id="btn1" onclick="showR()">Show the result</button>
<p id="demo1"></p>
<script type="text/javascript">
function showR(){
var x;
x= document.getElementById('input1').value;
//x= Number(x);
try{
if(x=="")throw "empty";
if(x==isNaN(x))throw "not a number";
x= Number(x);
if(x<5)throw "too low";
if(x>10)throw "too high";
document.getElementById(demo1).innerHTML=x;
}catch(err){
document.getElementById('demo1').innerHTML = "input is : " + err;
}
document.getElementById('input1').innerHTML='hi';
}
</script>
</body>
</html>
сообщение об ошибке вход: TypeError: Невозможно установить свойство «innerHTML» нулевых , что является причиной и как я могу решить эту проблему
'if (x == isNaN (x))' всегда false ... избавиться от 'x ==' –
Использовать [JSHint] (http://jshint.com/) в следующий раз. Это экономит вам много времени и работы и уменьшает необходимость задавать опечатки, связанные с такими вопросами. – Xufox