什么输入字段类型强制数字键盘移动键盘聚焦时出现?

Ayy*_*ash 24 html mobile opera textinput

我试过<input type="number" />但是在Opera上输出一个奇怪的输入框和一个"向上和向下"处理程序.我所期望的是一个常规文本字段,一旦你专注于它就会提示数字键盘而不是字母.这甚至可能吗?

ps我不是想验证.这将是一个很好的用户体验,就是这样.

Hus*_*ski 29

使用 pattern="[0-9]*"

  • 示例数字输入: <input type="number" pattern="[0-9]*" />

  • 电话输入示例: <input type="tel" pattern="[0-9]*" />

注意:不支持的浏览器type="tel"将默认为文本类型

注意:使用type="number"可能会导致某些浏览器出现问题以及信用卡,邮政编码和电话输入的用户体验,用户可能需要在输出中输入标点符号或逗号.

参考文献:

  • 这是最好和最新的答案.感谢您的笔记和链接,两者都非常有启发性. (2认同)

Dor*_*ori 19

处理电话号码的官方HTML5方式是:

<input type="tel">
Run Code Online (Sandbox Code Playgroud)

您可能不喜欢使用Opera时使用的"奇怪的输入框" <input type="number" />,但当您想要求访问者输入数值时,这确实是适当的输入区域类型.

  • @Ayyash,我不生气 - 我只是觉得你没有注意.您询问了Mobile Opera中的输入.我告诉过你输入如何适用于许多2010年代手机上安装的浏览器.@fravelgue告诉你,许多手机不支持HTML(不相关,因为Opera会这样做),一种链接如何工作(不相关,因为它们不是输入),以及2001年WAP CSS规范不适用于Opera或WAP v1或HTML输入字段.顺便说一句:不,你从来没有说'输入类型=电话'对你不起作用 - 你说"我会尝试电话类型"但从未报告你的结果. (2认同)

fra*_*gue 13

type ="number"是HTML5,许多手机不支持HTML5.对于呼叫链接,您可以使用type ="tel"或 <A href="wtai://wp/mc;600112233">Special A</A>.您也应该查看CSS WAP扩展(第56页).

编辑10/2015:
如果不是所有智能手机都支持HTML5和CSS3,那么这type="number"是最好的方法.

  • 3 条评论: ① `&lt;a&gt;` 用于链接,而不是输入。您询问了输入字段,那么为什么最佳答案不能回答您的问题呢?②鉴于WAP2是XHTML MP(HTML的轻量版本),他的“许多手机不支持HTML”的说法意味着您无论如何都不能在这些手机上使用WAP2。③ WAP 已死——参见 [WAP 站点与移动网站的传统 HTML](http://stackoverflow.com/questions/284281/wap-site-vs-traditional-html-for-a-mobile-website) &amp; [HTML 和 WML/WAP 之间有什么不同?](http://stackoverflow.com/questions/2836719/whats-different-between-html-and-wml-wap)。 (2认同)

小智 9

这篇文章现在无效.所有智能手机现在都支持HTML5和CSS3,因此添加type ="number"实际上会提示弹出数字键盘.我刚刚在2个不同的Android版本和iPhone上查看了它.因此,未来没有人会尝试WAP而不是正确的HTML5格式.

  • 根据我的测试,`type ='number'`拉出全键盘,在iOS上可以看到数字,而`type ='tel'`拉起数字键盘,这似乎是海报所要求的.在Android上,"number"和"tel"都会拉出数字键盘. (9认同)