首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML数字输入的最小和最大值不能正常工作

HTML数字输入的最小和最大值不能正常工作
EN

Stack Overflow用户
提问于 2015-10-05 01:37:32
回答 14查看 108.8K关注 0票数 78

我有type=number输入字段,并为其设置了minmax值:

代码语言:javascript
运行
复制
<input type="number" min="0" max="23" value="14">

当我使用输入栏右侧的小箭头更改渲染UI中的时间时,一切都正常工作-我既不能高于23也不能低于0。但是,当我手动(使用键盘)输入数字时,这两个限制都不起作用。

有没有办法防止任何人输入他们想要的数字?

EN

Stack Overflow用户

发布于 2020-12-07 11:27:13

再说一次,没有解决方案真正解决了我的问题。但结合这些知识,它以某种方式起作用了

我想要的是一个真正的最大/最小值验证器(支持整数/浮点数),用于我的输入控制,而不需要花哨的html5帮助

@Praveen Kumar Purushothaman的接受答案有效,但其硬编码的min/max在检查条件下

@Vincent可以帮助我通过max/min属性动态验证输入字段,但它不是通用的,只验证整数输入。

在下面的代码中结合这两个答案对我来说很有效

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
<input type="number" min="0" max="1" step=".001" class="form-control">

之后,我的所有输入都会真正响应min max属性。

票数 0
EN
查看全部 14 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32936352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档