HTML 数字输入框: 如何允许步长为1的小数输入。

7

对于数字输入,有没有一种方法可以设置step=1,但允许用户输入小数?

原因是我希望输入框上的箭头可以按照1的步长增加/减少值,但如果用户想更具体地输入小数,则应该允许。

目前我有以下代码:

<input type="number" name="price" placeholder="£" step="1" id="id_price">

箭头按预期工作,但如果输入2.99等小数会得到验证错误。删除步骤允许输入小数,但箭头现在只增加/减少0.01。 我倾向于使用JavaScript解决方案,但我想知道最佳解决方案是什么。是否有其他选项或现有库?
1个回答

9

<input type="number" step="any"> step any 允许用户输入小数并以1递增。


有趣!目前看起来好像可以工作。这是一个可靠的跨浏览器解决方案吗? - alstr
请添加代码片段以支持您的答案。 - this.girish
我唯一能看到的缺点是它没有限制小数位数为2,因此他们可以在客户端输入任何奇怪的价格数字。当然,这可以在服务器端处理。我想这是一个权衡... - alstr
在没有任何明显的简单解决方案的情况下,我将接受这个。最终,我使用了Javascript来防止输入超过2位小数。 - alstr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接