【问题标题】:Specific selection range in number input数字输入中的特定选择范围
【发布时间】:2015-08-07 23:40:17
【问题描述】:

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

编辑:对不起,我没有提到它。 “范围”是指setSelectionRange()。

【问题讨论】:

  • 你可以使用min和max
  • 输入类型数字应该只接受数字,我知道这很明显,但您在谈论字符范围。
  • 我认为不是字符而是数字。对于数字范围,您可以使用 <input type="number" name="quantity" min="10" max="15">
  • “选择范围”是指相当于setSelectionRange()。

标签: javascript html selection


【解决方案1】:

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

不过,我会为您解答,并假设您的意思是“数字”而不是“字符”。

您还必须考虑到这是 HTML5,可能存在浏览器兼容性问题,您需要为旧版浏览器添加 polyfill。

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

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

【讨论】:

    【解决方案2】:

    如果您想自己处理这个问题,而不是依赖浏览器的 min/max 实现,除了来自 @Scor3keeper 的响应之外,您可以执行以下操作:

    <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);" />
    

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

    【讨论】:

    • “选择范围”是指相当于setSelectionRange()。
    猜你喜欢
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多