HTML数字输入:如何允许步骤为1的十进制数字

HTML数字输入:如何允许步骤为1的十进制数字,html,input,Html,Input,对于数字输入,是否有方法让step=1同时允许用户输入十进制数字 原因是我希望输入框上的箭头将值增加/减少1,但如果用户希望更具体,则允许用户输入小数 目前我有: <input type="number" name="price" placeholder="£" step="1" id="id_price"> 箭头按预期工作,但如果输入2.99,我会得到一个验证错误,例如。删除步骤允许输入小数,但箭头现在仅增加/减少0.01 我倾向于Javascript解决方案,但我只是想知道

对于数字输入,是否有方法让
step=1
同时允许用户输入十进制数字

原因是我希望输入框上的箭头将值增加/减少1,但如果用户希望更具体,则允许用户输入小数

目前我有:

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

箭头按预期工作,但如果输入2.99,我会得到一个验证错误,例如。删除步骤允许输入小数,但箭头现在仅增加/减少0.01


我倾向于Javascript解决方案,但我只是想知道最好的解决方案是什么。是否有其他选项或现有库?

步骤允许用户也输入小数并增加1

任何步骤都允许用户输入十进制数并增加1

有趣!到目前为止似乎有效。这是一个可靠的跨浏览器解决方案吗?请添加代码片段以支持您的回答。我能看到的唯一缺点是,它的小数位数不限于2,因此他们可以为价格客户端输入任何奇怪的数字。当然,它可以在服务器端处理。我想这是一种权衡……在没有任何明显的解决方案的情况下,我会接受这样简单的方案。最后,我使用Javascript阻止输入超过2个小数位。很有趣!到目前为止似乎有效。这是一个可靠的跨浏览器解决方案吗?请添加代码片段以支持您的回答。我能看到的唯一缺点是,它的小数位数不限于2,因此他们可以为价格客户端输入任何奇怪的数字。当然,它可以在服务器端处理。我想这是一种权衡……在没有任何明显的解决方案的情况下,我会接受这样简单的方案。最后,我使用Javascript防止输入超过2个小数位。