Android 上的 Google Chrome(并且仅限 Android)不允许使用类型为 number 和 step= 的 Decimal "any"



我有一个问题,我不确定这是否是一个bug,关于android键盘的一些奇怪之处,等等。

假设你在某个地方有这个输入框:

<input type='number' step='any' >

在默认的ICS安卓浏览器、Safari移动浏览器、iOS Chrome(可能还有其他浏览器)上,这正是你所期望的:它会显示一个既有数字又有小数点的键盘(因为这个步骤)。

然而,在安卓系统的Chrome上(正如我所说的,只有这个版本),它会显示一个没有小数的数字键盘。

有人知道变通办法吗?

其他详细信息

它似乎仅限于三星键盘和谷歌Chrome的组合。以下工作:

  • 谷歌Chrome与第三方键盘
  • 主浏览器和带有三星键盘的Firefox

所以,似乎只有三星键盘和Chrome的组合才是问题的根源。

此问题似乎已修复https://code.google.com/p/chromium/issues/detail?id=151738#c17。我认为这是在2014年6月发布的Chrome Mobile 36中修复的——它肯定是在Chrome Mobile 47中修复的,这是我目前在三星手机上唯一的版本。

如果用户不多,有两种解决方法:

  1. 要求用户安装谷歌键盘并启用它-请参阅https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin

  2. 要求用户使用本机浏览器(要求用户使用标有"互联网"的世界图标的应用程序)。

在Android 4.4上使用WebView的应用程序被WebView的Chrome 30或33卡住了,所以我猜使用WebView的三星Android 4.4手机会受到影响。在任何其他版本的Android上使用WebView都不应受到影响(Android 4.3或更低版本使用了WebView的本地浏览器,Android 5.0+应该使用没有错误的Chrome版本,因为Chrome WebView更新了)。

同样相关的是三星手机浏览器版本和关于三星浏览器的评论。

对于那些错误实现对type="number"支持的三星设备,请使用type="tel"。其他方法详细信息如下:Samsung Galaxy Tablet不允许输入浮点数字以输入"0";数字";型

最新更新