我有type=number输入字段,并为其设置了min和max值:
<input type="number" min="0" max="23" value="14">当我使用输入栏右侧的小箭头更改渲染UI中的时间时,一切都正常工作-我既不能高于23也不能低于0。但是,当我手动(使用键盘)输入数字时,这两个限制都不起作用。
有没有办法防止任何人输入他们想要的数字?
发布于 2020-12-07 11:27:13
再说一次,没有解决方案真正解决了我的问题。但结合这些知识,它以某种方式起作用了
我想要的是一个真正的最大/最小值验证器(支持整数/浮点数),用于我的输入控制,而不需要花哨的html5帮助
@Praveen Kumar Purushothaman的接受答案有效,但其硬编码的min/max在检查条件下
@Vincent可以帮助我通过max/min属性动态验证输入字段,但它不是通用的,只验证整数输入。
在下面的代码中结合这两个答案对我来说很有效
function enforceMinMax(el){
if(el.value != ""){
if(parseFloat(el.value) < parseFloat(el.min)){
el.value = el.min;
}
if(parseFloat(el.value) > parseFloat(el.max)){
el.value = el.max;
}
}
}
$(function () {
$("input").keydown(function () {
enforceMinMax(this);
});
$("input").keyup(function () {
enforceMinMax(this);
});
});对于DOM
<input type="number" min="0" max="1" step=".001" class="form-control">之后,我的所有输入都会真正响应min max属性。
https://stackoverflow.com/questions/32936352
复制相似问题