我有一个输入:
<form:input id="appetizerQuantity" type="number" path="appetizerQuantity" max='999' pattern="\d*" autocomplete="off" oncopy="return false;" onpaste="return false;" oncut="return false;"/>
我只想从-99到999
导入但我可以进入 - 00,-.01,1e10或-.-, - .. ,.而且我不想那样。
我已将其验证为:
$('#appetizerQuantity').keypress(function (event) {
console.log(event.which);
console.log($('#appetizerQuantity').val().length);
if($(this).val().length < 3) {
return isNumber(event, this)
} else{
return false;
}
});
和
$("#appetizerQuantity").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if($(this).val().length < 4) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: Ctrl+C
(e.keyCode == 67 && e.ctrlKey === true) ||
// Allow: Ctrl+X
(e.keyCode == 88 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
}
});
请帮助我的人。
注意:我使用项目使用appfuse(spring + hybernate)。
感谢每个人都能提供帮助!
答案 0 :(得分:0)
您可以使用step
属性来限制小数位的使用。有关详细信息,请参阅https://stackoverflow.com/a/19012837。
答案 1 :(得分:0)
谢谢Matt Raible,我修好了! 我在IOS设备上将输入的type =“number”改为“text”,在Android上改为“tel”。 我使用了jquery.numeric.min.js库并添加了函数:
$('#appetizerQuantity').numeric({decimal: false, negative: false },
function(){$(this).focus(); this.value = "";});
它有效