HTML 5输入类型="数字"元素,用于Chrome上的浮点数

at.*_*at. 45 html validation html5 google-chrome html-input

我需要让用户输入浮点数,所以我使用以下元素:

<input type="number" name="my_number" placeholder="Enter number"/>
Run Code Online (Sandbox Code Playgroud)

在Firefox上运行得很好,但Chrome在我尝试输入小数时抱怨这个数字不是整数.这对我的案子来说是一个问题.如果我输入step属性,则Chrome会允许浮点数:

<input type="number" name="my_number" placeholder="Enter number" step="0.1"/>
Run Code Online (Sandbox Code Playgroud)

但后来问题是0.15无法进入......这step似乎不符合我的需要.在W3C规范整个的属性提到浮点数input type="number".

如何让Chrome接受没有step属性的浮点数?

Gil*_* V. 94

尝试 <input type="number" step="any" />

它不会有验证问题,箭头会有"1"步

约束验证:当元素具有允许值步长时,应用算法将字符串转换为数字到字符串值给出的字符串的结果是一个数字,并且从步长中减去的数字不是一个整数允许值步长的倍数,该元素遭受步骤不匹配.

以下范围控件仅接受0..1范围内的值,并允许该范围内的256个步骤:

<input name=opacity type=range min=0 max=1 step=0.00392156863>

以下控件允许选择当天的任何时间,具有任何精度(例如,千分之一秒或更高):

<input name=favtime type=time step=any>

通常,时间控制限制为一分钟的准确度.

http://www.w3.org/TR/2012/WD-html5-20121025/common-input-element-attributes.html#attr-input-step


cod*_*rmd 50

<input type="number" step="0.01" />如果您的目标是2位小数,请尝试:-).