在数字输入中有特定的选择范围

Specific selection range in number input

本文关键字:选择 范围 数字输入      更新时间:2023-09-26

我找不到在<input type="number">字段中选择一系列字符的任何解决方案。
这可能吗?

我很抱歉我没有提到它。这里的"range"指的是setSelectionRange()

你真的不应该在这里问这样的问题。只要简单地搜索一下,你就能知道了。

我将为你回答这个问题,并假设你的意思是"数字"而不是"字符"。

你还必须考虑到这是HTML5,可能有浏览器兼容性问题,你需要为旧的浏览器添加一个polyfill。

您也可以使用step = "any"来指定值的值粒度。

<input type="number" name="quantity" min="1" max="5">

对于@Scor3keeper的响应,如果你想自己处理这个问题,而不是依赖于浏览器的min/max实现,你可以这样做:

<script>
  function handleChange(input) {
    if (input.value < 0) input.value = 0;
    if (input.value > 100) input.value = 100;
  }
</script>

然后这样声明输入框:

<input type="text" onchange="handleChange(this);" />

这比现代浏览器的实现稍微健壮一些,后者允许你粘贴或键入超出范围的数字。但是,浏览器实现确实会给用户验证警报。