Firefox:输入字段编号最小值不起作用

时间:2014-11-10 10:31:04

标签: html firefox

我在Firefox(v_30.0)浏览器中遇到输入字段属性 min max 值的问题。

这有效

<input name="year" type="number" placeholder="YYYY" required min="1" max="12"/>

但这不是

<input name="year" type="number" placeholder="YYYY" required min="1990" max="20014"/>

它在输入框中显示1,并且不会进一步移动。

4 个答案:

答案 0 :(得分:1)

只需设置起始值即可起作用

<input name="year" type="number"  min="1990" max="2014" value="1990" required />

http://jsfiddle.net/ywq6dq93/

编辑:

正如另一位用户之前指出的那样,这不会显示占位符,而是显示起始值1990.在Chrome中,它不会设置值并仍然显示占位符并实现所需的功能,但似乎在FF中如果要显示占位符而不是起始值,则需要在关注输入字段时通过javascript设置值。

演示:http://jsfiddle.net/1pg5727f

答案 1 :(得分:1)

Firefox(与Chrome不同)似乎遵循stepping up input type=number元素的HTML5定义。如果没有设置该值,因为它不是最初的,它被解释为0,因此递增的结果是1.因为它在范围之外,所以它是无效值,并且不可能进一步步进。 / p>

这意味着input type=number适用于可以设置初始值的数量(或者可以接受默认初始值0)。毕竟,升级和升级是使用这种元素类型的真正原因,它需要从某个地方开始。

因此,将required用于此类元素没有多大意义,除非隐式默认值0是可接受的并且在边界集内。

如果您仍想使用input type=number,则需要使用范围内的value属性设置一些初始值。从技术上讲,这意味着pattern属性无效。

要在未设置默认值时读取所需的4位数字,可选择使用占位符,您可以使用具有合适属性的文本输入字段(但不能以任何合理的方式在HTML中表达范围要求,这种方法):

<input name="year" type="text" placeholder="YYYY"
  size="4" maxlength="4" pattern="\d[4}" required
  style="font-family: Consolas, monospace">

答案 2 :(得分:0)

<input type="number" step="1" min="1"  name="product_qty" value="1" title="Qty" class="input-text" size="4" maxlength="10" pattern="\d*" required />

答案 3 :(得分:-2)

如果您仍在寻找答案,可以使用输入类型=“数字” 如果按此顺序设置,则最大工作时间:
1名
2-的maxlength
3-尺寸
4分钟
5-MAX
只需复制它

<input  name="X" maxlength="3" size="2" min="1" max="100" type="number" />