有没有办法强制数字键盘出现在电话<input type="text">?我刚刚意识到,<input type="number">在HTML5中是“浮点数”,所以它不适合信用卡号,邮政编码等。
我想模拟<input type="number">的数字键盘功能,用于接受浮点数以外的数值的输入。是否有其他合适的输入类型可以做到这一点?
有没有办法强制数字键盘出现在电话<input type="text">?我刚刚意识到,<input type="number">在HTML5中是“浮点数”,所以它不适合信用卡号,邮政编码等。
我想模拟<input type="number">的数字键盘功能,用于接受浮点数以外的数值的输入。是否有其他合适的输入类型可以做到这一点?
当前回答
<input type="text" inputmode="numeric">
使用输入模式,你可以给浏览器一个提示。
其他回答
使用type="email"或type="url"至少在某些手机上可以给你一个键盘,比如iPhone。对于电话号码,你可以使用type="tel"。
截至2020年
<input type="number" pattern="[0-9]*" inputmode="numeric">
CSS技巧做了一篇很好的文章:https://css-tricks.com/finger-friendly-numerical-inputs-with-inputmode/
你可以这样尝试:
<input type="number" name="input">
<input type="submit" value="Next" formnovalidate="formnovalidate">
但是要注意:如果您的输入包含数字以外的内容,则不会将其传输到服务器。
我发现,至少对于类似“密码”的字段,执行类似<input type="tel" />这样的操作最终会生成最真实的面向数字的字段,而且它也没有自动格式化的好处。例如,在我最近为希尔顿酒店开发的一个移动应用程序中,我最后使用了这个:
... 我的客户对此印象深刻。
< >形式 <input type="tel" /> <按钮类型=“提交”> > < /按钮提交 > < /形式
有一个简单的方法来实现这种类型的行为(比如如果我们想在输入字段中使用文本格式,但仍然希望显示数字键盘):
我的输入:
<input inputMode=“numeric” onChange={handleInputChange} />
提示:如果你想要这种类型的行为(逗号分隔的数字) 然后遵循handleInputChange实现(这是基于上述状态的反应)