【问题标题】:Ionic/HTML5 - Decimal Keyboard Input?Ionic/HTML5 - 十进制键盘输入?
【发布时间】:2015-05-15 01:57:30
【问题描述】:

如何在 iOS Android 上显示带有小数点按钮的数字键盘?是否有特定于 Ionic 的方法来执行此操作?

我可以通过以下方式在 iOS 和 Android 上显示数字键盘:

<input type="number" pattern="[0-9]*">

iOS 似乎忽略了值为“number”的 type,并根据 pattern 属性显示数字键盘,但对于 Android,type 无论如何都设置为“number”。

编辑:忘了说我试过pattern="[0-9.]*"。当我这样做时,iOS 只会显示全键盘。

Edit2:我也试过pattern="\d+[,.]?\d*" - 再次,无济于事。

【问题讨论】:

  • 试试pattern="[0-9.]*"
  • 在 Android 上无法强制使用特定键盘。你给它一个输入类型,键盘(它是一个应用程序)决定为它显示最好的东西。如果它决定不显示 .,则无法强制。
  • @IanMacDonald 我忘了说我试过了,但无济于事。这是我发现[0-9]* 的模式适用于常规数字键盘后的第一次尝试。
  • @Chad 这方面有什么进展吗?
  • @Cᴀʟʟᴏᴅᴀᴄɪᴛʏ 不,似乎没有通用的方法来实现这一点,至少现在还没有。

标签: android ios html ionic-framework ionic


【解决方案1】:

尝试下面的语法来实现这一点。它适用于 iPhone 和 Android。

&lt;ion-input inputmode="decimal" type="number" /&gt;

【讨论】:

  • 在测试了我在互联网上可以找到的所有可能的技术之后,这是我可以在我的 iPhone 上保留小数点的唯一方法。我不明白反对票。
【解决方案2】:

似乎问题仅与某些三星设备有关。

我遇到了你在三星 Galaxy Note 8.0 (android 4.4.2) 上描述的同样问题,但在 Nexus 上一切正常,只需使用

<input type="number" step="0.01"> 

相关帖子Google Chrome on Android (and only Android) Does not allow Decimal with type number and step="any"

Samsung Galaxy Tablet does not allow entering floating point numbers to inputs with "number" type

【讨论】:

  • 这不适用于 iOS。我开始认为(目前)不可能在 iOS Android 上显示带小数点的数字键盘。
【解决方案3】:

参考这个链接: https://github.com/skol-pro/ion-digit-keyboard-v2#6---example--demo

只需在 setfocus() 上隐藏本机键盘。

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多