Tengo la siguiente función que solo permite números al presionar teclas:
$('input').keypress(function(e) {
var a = [];
var k = e.which;
for (i = 48; i < 58; i++)
a.push(i);
if (!($.inArray(k,a)>=0))
e.preventDefault();
});
No puedo permitir también puntos (código: 190). Aquí hay un violín: http://jsfiddle.net/umNuB/
0
domi771
4 sep. 2014 a las 02:16
3 respuestas
La mejor respuesta
Añadir
a.push(46);
Después de su ciclo y permitirá períodos.
2
David Lounsbrough
4 sep. 2014 a las 03:46
Creo que quieres validar la entrada solo el número flotante permitido, aquí la validación flotante de muestra
$('input').keypress(function(event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
1
kefy
3 sep. 2014 a las 22:25
En mi propio teclado e.which
para .
es 46
; ¿de dónde sacaste 190
? Por lo tanto mi código sería:
$('input').keypress(function(e) {
var a = [46];
var k = e.which;
for (i = 48; i < 58; i++)
a.push(i);
if (!($.inArray(k,a)>=0))
e.preventDefault();
});
0
PeterKA
3 sep. 2014 a las 22:25
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.