有没有办法强制数字键盘出现在电话<input type="text">?我刚刚意识到,<input type="number">在HTML5中是“浮点数”,所以它不适合信用卡号,邮政编码等。

我想模拟<input type="number">的数字键盘功能,用于接受浮点数以外的数值的输入。是否有其他合适的输入类型可以做到这一点?


当前回答

您可以执行<input type="text" pattern="\d*">。这将导致出现数字键盘。

请参阅这里了解更多详细信息:iOS的文本,Web和编辑编程指南

< >形式 <input type="text" pattern="\d*"> <按钮类型=“提交”> > < /按钮提交 > < /形式

其他回答

你可以这样尝试:

<input type="number" name="input">
<input type="submit" value="Next" formnovalidate="formnovalidate">

但是要注意:如果您的输入包含数字以外的内容,则不会将其传输到服务器。

试试这个:

$(document).ready(function() {
    $(document).find('input[type=number]').attr('type', 'tel');
});

参见:https://answers.laserfiche.com/questions/88002/Use-number-field-input-type-with-Field-Mask

使用type="email"或type="url"至少在某些手机上可以给你一个键盘,比如iPhone。对于电话号码,你可以使用type="tel"。

 <input type="text" inputmode="decimal">

它将给你文本输入使用数字键盘

<input type="text" inputmode="numeric">

使用输入模式,你可以给浏览器一个提示。