2016-03-28 3 views
0

私はJSの初心者です。このことを理解できません。最初のフィールドに数字を入力すると、次のフィールドに何も表示されませんが、コードは正常に動作しています。このコードに誤りがありますか?JS番号メソッドが動作しません

<html> 
    <head> 
    <title> Number methods </title> 
    </head> 
    <body> 
    <table border="2px" width="500px" height="400px" align="center"> 
    <tr> 
     <td align="center" colspan="2"> 
      <p> Enter a number </p> 
     </td> 
     <td align="center" colspan="2"> 
     <input type="text" id="number"> 
     </td> 
      </tr> 
      <tr> 
      <td align="center" colspan="2"> Result </td> 
      <td align="center" colspan="2"> <input type="text" id="result">      </td> 
    </tr> 
    <tr>  
      <td align="center"> <input type="button" onClick="string();" value="String"> </td> 
      <td align="center"> <input type="button" onClick="precision();" value="Precision"> </td> 
      <td align="center"> <input type="button" onClick="expo();" value="Exponential"> </td> 
      <td align="center"> <input type="button" onClick="fixed();" value="Fixed"> </td> 

    </tr>   
    </tr> 
</table> 

    <script> 
    function fixed() 
    { 

     var num = document.getElementById("number").value; 

     var res = document.getElementById("result"); 
      res.value = num.toFixed(2); 

    } 

+0

ちょうどJSFiddleを作ることができますので、簡単になります –

+0

ああ申し訳ありませんが次回にします:) –

+0

@SiddharthPrabhuなぜあなたは答えを受け入れませんか? –

答えて

3

文字列関数はそのプロトタイプで.toFixedと呼ばれていない、

​​

あなたは、その機能.toFixed()にアクセスできるように、数としてそれを変換する必要があります。小数点を扱っているので、その文字列を数値として変換するためにparseFloatを使用するよう提案しました。

parseInt(str),Number(str),+strのように、strをnumberに変換することもできます。

+0

ああ、それは働いて、説明のためのThx: –

+0

@SiddharthPrabhu助けて嬉しい! :) –

+1

@SiddharthPrabhuデイahはpannuダを受け入れる答え。 –

1

あなたnum変数は文字列です。 .toFixed()は、数値オブジェクト上のメソッドであり、文字列上のメソッドではありません。

.toFixed()を呼び出す前に、numを番号に変換してください。ここ数に変換し+演算子を使用して、コードの修正バージョンがあります:

function fixed() { 
    // use the + here to convert to a number 
    var num = +document.getElementById("number").value; 
    var res = document.getElementById("result"); 
    res.value = num.toFixed(2); 
} 

ブラウザでデバッグコンソールで見て学べば、それはあなたに言っている必要があります正確にどのようなコードあなたのエラーの行エラーの原因となっていたものをあなたに与えてくれました。