我想知道为什么HTML5尚未实现这种简单的验证来输入数字
这是我的摘录。我不能进入(句号)和-(负数)
$('input[type="number"]').on('keypress', function(e){
if (e.which < 48 || e.which > 57)
{
e.preventDefault();
return false;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" step="any" min="0" name="refund" class="form-control" >
但是,当我尝试为期间启用keyCode时,我可以在文本框中输入很多期间。
$('.allow-decimal').on('keypress', function(e){
if (e.which == 190)
{
return true;
}
});
答案 0 :(得分:0)
您可以使用html中的某些内容。
<form>
Quantity (between 0 and 100): <input type="number" name="quantity" min="0" max="100" step=".01">
<input type="submit">
</form>
答案 1 :(得分:0)
<input type="text" onfocus="this.oldvalue = this.value;" onkeyup="validateInput(this);this.oldvalue = this.value;" onchange="validateInput(this);this.oldvalue = this.value;" />
以上question的启发将捕获旧值以用于还原 然后
function validateInput(input){
if(isNaN(input.value)||input.value<0)
{
input.value = input.oldvalue;
}
}
这应该工作