答案 0 :(得分:1)
jquery numeric插件可以解决问题。谢谢大家的帮助。我不得不写更多的文字,因为答案最少应该是30个字符。
$(document).ready(function(){
$(".numeric").numeric();
});
答案 1 :(得分:0)
这会阻止用户输入任何不是数字的字符,同时仍允许他们使用不可打印的键(ctrl,alt,backspace,enter等)
第一部分来自this answer to a different question
第二部分基本上每次用户按键时都会检查,以查看该键是否为......
如果满足这两个条件,请阻止输入字符。
// https://stackoverflow.com/a/12467610/4639281
function printable(keycode) {
var valid =
(keycode > 47 && keycode < 58) || // number keys
keycode == 32 || keycode == 13 || // spacebar & return key(s) (if you want to allow carriage returns)
(keycode > 64 && keycode < 91) || // letter keys
(keycode > 95 && keycode < 112) || // numpad keys
(keycode > 185 && keycode < 193) || // ;=,-./` (in order)
(keycode > 218 && keycode < 223); // [\]' (in order)
return !!valid;
}
// This part is me
document.getElementById('min').onkeydown = function(e) {
var char = String.fromCharCode(e.keyCode);
if(printable(e.keyCode) & isNaN(char)) {
e.preventDefault();
}
}
<input type="text" placeholder="Min." id="min">