2016-08-02 66 views
-1

下面的這段文字是我的代碼 它運作良好,當我輸入空/ 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> 

該錯誤信息是 輸入:類型錯誤:無法設置爲null 的特性「的innerHTML」的原因是什麼,我怎麼能解決這個問題

+3

'if(x == isNaN(x))'總是false ...擺脫'x ==' –

+0

下次使用[JSHint](http://jshint.com/)。它爲您節省了大量時間和工作,並減少了提問這類錯字相關問題的需求。 – Xufox

回答

2
document.getElementById(demo1).innerHTML=x; 

這應改爲

document.getElementById('demo1').innerHTML=x; 

首先,學會閱讀錯誤。

+1

「首先,學習閱讀錯誤。」偉大的建議,但也許OP正在尋找如何找到錯誤,因此張貼在這裏....也許建議檢查瀏覽器控制檯? – NewToJS

+0

@NewToJS謝謝**答案的智慧** – TomIsion

+0

[判斷變量是數字](http://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric) – TomIsion

相關問題