2017-06-21 13 views
0

以下のスニペットコードでは、入力に「9999999999」と「9999999999」と入力します。コンソールログでは、両方ともアウトドットを使用して同じ結果 "999999999"を表示します。Androidデバイスとブラウザの入力タイプ番号のドットをキャプチャ

数字の後にもドット記号をキャプチャしようとしています。ここでは、入力タイプ番号のみが許可され、テキストまたは他のタイプは使用できません。

テキストボックスソリューションを見つけるために助けてください数

Number: <input type='number' id=txtNumber'/> 

のためのものであり、それはJSFiddle

でjavascript関数

$(document).ready(function() { 
    $('#txtNumber').keyup(function() { 
    var numbers = $(this).val(); console.log("numbers", numbers); 
    }); 
}); 

コードです。

+1

「9999999999」の値が「9999999999」の数値にキャストされているためです。 'type = 'number''なので' .val() 'は数値を数値に変換します。 –

+0

[生の値を取得する方法は、フィールドですか?](https://stackoverflow.com/questions/18852244/how-to-get-the-raw-value-an-入力タイプ番号フィールド –

+0

おそらく[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - *なぜ*これをやりたいのですか?あなたは何を達成しようとしていますか? –

答えて

0

理由はあなたがtype='number'に設定されているためです。 私はあなたがtype='text'を設定し、入力の値が数(ドット含む)であるかどうかをチェックするために正規表現を使用することをお勧め:

$(document).ready(function() { 
     $('#txtNumber').keyup(function() { 
     if ($(this).val().match(/^[0-9]*\.?[0-9]*$/)){ //check if your value is number or not 
     var numbers = $(this).val(); console.log("numbers", numbers); 
     } 
     }); 
    }); 
+0

タイ語、入力タイプは数字である必要があります。 –

0

あなたがこれを行うために関数を使用することができます。

$(document).ready(function() { 
     $('#txtNumber').keyup(function() { 
      var numbers = $(this).val(); console.log("numbers", numbers); 
      // dump(numbers); 
      numbers = parseInt(numbers).toFixed(2); 
      console.log(numbers); 
     }); 
    }); 

それはあなたの希望出力を提供します。

+0

あなたは@Sudhakar Jonnakutiのために働いたのですか? –

+0

問題は、コードをテストする必要があります。これは機能しないだけでなく、 'numbers.toFixedは関数ではありません.'というエラーが発生します。 –

+0

Himanshu - 関数のようにnumbers.toFixedのようなエラーが発生しました。 –