首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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

回答 14

Stack Overflow用户

回答已采纳

发布于 2015-10-05 01:47:30

使用HTML5 maxmin时,只能将值限制为输入数字。但是您需要使用JavaScript或jQuery来进行这种更改。我的一个想法是使用data-属性并保存旧值:

代码语言:javascript
运行
复制
$(function () {
  $("input").keydown(function () {
    // Save old value.
    if (!$(this).val() || (parseInt($(this).val()) <= 11 && parseInt($(this).val()) >= 0))
    $(this).data("old", $(this).val());
  });
  $("input").keyup(function () {
    // Check correct, else revert back to old value.
    if (!$(this).val() || (parseInt($(this).val()) <= 11 && parseInt($(this).val()) >= 0))
      ;
    else
      $(this).val($(this).data("old"));
  });
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="number" min="0" max="23" value="14" />

票数 16
EN

Stack Overflow用户

发布于 2015-10-05 01:52:01

也许你可以使用"range“类型,而不是" number”类型,因为它使用了一个滑动条,如果你想配置它来显示当前的数字,只要使用JavaScript就可以了

票数 19
EN

Stack Overflow用户

发布于 2017-04-13 00:22:22

在某些情况下,可以使用pattern代替minmax。它可以与required一起正常工作。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32936352

复制
相关文章

相似问题

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