2017-04-11 5 views
2

入力をクリックすると<input type="number" id="n" />;入力のkeypress機能にいくつかのキーを入力します。入力に表示されますが.と入力しても、.$('#n').val()に表示されません。HTML入力タイプ番号から生の値(ドット(。)を含む)を取得できません

たとえば、入力後:123.$('#n').val()のみ返信123

<input type="number" />の属性は、123ではなく、123.raw valueですか?

$("#n").on("keypress", function(event) { 
 
    console.log($("#n").val()); 
 
});
<script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
 
<input type="number" pattern="[0-9]{1,2}([\.][0-9]{1,2})?" id="n" step="0.01" />

JSbin demo

UPDATE:

  • inputが唯一のモバイルウェブ上softkeyboard上の数字入力を示すにそれを許可するタイプ番号を持たなければなりません。
  • それはパターン99.99をチェックし、以下のように動作するはずです:それはない99

  • タイプ9 NO:

    1. タイプ9 OK //入力:9
    2. タイプ9 OK //入力//入力マッチパターン:次に99
    3. 1 NOを入力し、それがパターン//入力一致しません:(。)99
    4. ..Freeの何も入力タイプではなく、ドットをここに...
    5. 型ドット(。 )OK //入力:99.
    6. タイプ9 OK //入力:99.9
    7. タイプ9 OK //入力://入力99.99
    8. タイプ9 NO:99.99

なしexistanceドットを検出します(。) .を連続して複数回入力した場合をどのように検出できますか?

+1

使用 'keyup'イベント – Satpal

+0

@Satpal:' keyup'は – o0omycomputero0o

+2

'123.'は' 123'であるhttps://jsbin.com/korofateji/1/edit?html,js,console,outputを動作しません。なぜあなたはその期間が必要ですか?生の価値を引き出す本当の方法がないので、あなたはそれを得るでしょう。 – epascarello

答えて

0

私はこの問題に早く直面しました。多分これは役立ちます。

$("#n").on("keyup", function(event){ 
 
    var val = $('#n').val(); 
 
    if(event.keyCode == 190) { 
 
    val+='.'; 
 
    } 
 
    console.log(val); 
 
    
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
<script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
 
<input type="number" id="n" /> 
 
</body> 
 
</html>

+0

貼り付けの場合にのみ問題が発生する – epascarello

+0

残念ながら、操作の編集後にドット(。)を追跡する方法.i.eドット(。)を削除してから、上記の@epascarelloのようにもう一度追加してください。 – o0omycomputero0o

+0

@ o0omycomputero0oドットを取得したら、文字列を分割して小数点以下の長さが2かどうかを確認することができます – mehulmpt

0
<input type="number" 
     min="0" 
     max="999" 
     step="0.000001" 
     pattern="[0-9]{1,2}([\.][0-9]{1,2})?" 
     id="n" /> 

これはあなたの問題を解決する必要があります。 Use FocusOut event to capture the value

+0

OPの問題をどのように解決するのでしょうか? – epascarello

+0

@epascarello:私の仕事のために。ここにフィドルリンクがあります https://jsfiddle.net/o2gxgz9r/5444/ 私はSafariブラウザでテストしました。 – Krishna9960

関連する問題