iPhone UIWebview:如何强制使用数字键盘?可能吗?

JJ *_*rer 61 iphone keyboard uiwebview cordova

我正在尝试使用PhoneGap开发一些iPhone应用程序.PhoneGap基本上包装了一个UIWebView - 它运行良好.问题是我的应用程序有几个输入字段只接受数字输入.我真的需要强制数字小键盘而不是接受默认的标准键盘,然后强制用户切换到每个字段上的数字.有谁知道这是否可能?怎么样?

澄清:我知道Apple目前不提供任何API来允许此操作.我想知道创建一个从UIWebView继承的自定义类是否有帮助,或者创建自定义键盘是否会开辟一些可能性?

2009年11月6日更新 - 如下所述,Apple最近更新了safari功能,以便再次支持.所以接受的答案被改变以反映这一点.

 <html>
<input type='tel'/>
<input type='number'/>
<input type='email'/>
<input />
</html>
Run Code Online (Sandbox Code Playgroud)

小智 72

看起来Mobile Safari支持电子邮件,号码,搜索,电话网址的新HTML5输入类型属性.这些将切换显示的键盘.请参阅type属性.

例如,你可以这样做:

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

当输入框有焦点时,会显示数字键盘(好像用户有完整的键盘并点击"123"按钮.

如果你真的只想要数字,你可以指定:

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

然后用户将获得电话号码拨号键盘.

我知道这适用于Mobile Safari - 我只假设它可以与UIWebView一起使用.

  • 警告:如果您正在处理货币字段,"数字"类型将不允许美元符号等.此外,对于邮政编码,"数字"类型将添加逗号(例如,"21015"变为"21,015").我最终使用"tel"类型来获得满意的结果. (2认同)

小智 28

我发现更好的解决方案是在<input type="text" pattern="[0-9]*">为移动和桌面浏览器设计表单时使用.

  • 到目前为止最好的解决方案,没有所有这些不希望的类型="数字"的次要影响! (2认同)
  • 这应该是选定的答案 - 因为只显示数字键盘而没有任何带有`tel`的特殊标志 (2认同)

Som*_*Som 1

您还可以使用基于 iOS PhoneGap 的应用程序:

input type="number" pattern="[0-9]*"
Run Code Online (Sandbox Code Playgroud)

如下图所示。与 iOS 8.2 和 PhoneGap 3.5 及更高版本完美配合。