2016-05-13 10 views
2

Wie Sie Dezimalzahlen von einem <input="text"> beschränken, zeigen nur ganze Zahlen. Das Feld wird nur zeigen, wie nicht 11,00Wie Dezimalzahlen in Eingabe einzuschränken = "Text" Nur ganze Zahlen anzeigen

<input type="text"> 

Ohne

<input type="number"> 
+0

Verwenden Math.round() auf Änderung – thatOneGuy

+1

Mögliche Duplikat [Wie kann ich entfernen Sie den Dezimalteil von JavaScript Nummer] (http://stackoverflow.com/questions/7641818/how -can-i-remove-decimal-part-from-javascript-Nummer) – thatOneGuy

+0

Mögliche Duplikate von [Einfachste Möglichkeit, Zeichen in HTML (5) Texteingabe zu maskieren] (http://stackoverflow.com/questions/10887645/ einfachste Weg zur Maske-Zeichen-in-HTML5-Text-Eingabe) – kayess

Antwort

-1

Vielleicht verwenden Sie ein Attribut min auf Ihre Eingabe HTML-Element hinzufügen. wie diese

<input type="number" min="0"> 
0

können Sie parseInt() verwenden, um Dezimalteil zu entfernen, ohne Rundung (11.9 =>11, 11.1 =>11 und usw.):

<input type="text" id="num"> 

var n = 11.13; 
document.getElementById('num').value = parseInt(n); // 11 

oder nur + Betreiber:

var n = 11.13; 
document.getElementById('num').value = +n; // 11 
0

Sie match() Verfahren zur Überprüfung Format Eingangswert verwenden können.

var input = document.getElementById("number"); 
 
var lastValue = ""; 
 

 
input.addEventListener("keydown", valueCheck); 
 
input.addEventListener("keyup", valueCheck); 
 

 
function valueCheck(){ 
 
    if (input.value.match(/^[0-9]*$/)) 
 
     lastValue = input.value; 
 
    else 
 
     input.value = lastValue; 
 
}
<label>Type your value</label> 
 
<input type="text" id="number" />

+0

@ J.Doe Ist es Ihre Lösung? – Mohammad

Verwandte Themen