【问题标题】:iPhone Numeric Keypad with Decimal for web apps?用于网络应用程序的带十进制的 iPhone 数字键盘?
【发布时间】:2021-05-30 21:27:10
【问题描述】:

我知道对于原生 iPhone 应用程序,您可以使用 UIKeyboardTypeDecimalPad 来强制使用带小数的数字键盘。有什么方法可以为移动网页或 Web 应用程序上的输入字段强制使用相同的键盘?如果还没有,有谁知道这个检测是否会在 iOS 6 中添加到 Safari 中?

我可以毫无问题地显示常规数字小键盘,但我真的很想拥有十进制键,所以我不需要显示全键盘。

谢谢!

【问题讨论】:

  • 您最终是否使用了以下解决方案之一?
  • 不,仍然无法从网络上调出此键盘。

标签: iphone html ios forms


【解决方案1】:

这是不可能的,但是有一个小技巧,你可以使用它。

看看这个链接 - http://web.archive.org/web/20151110014447/http://www.brownphp.com/2011/05/iphone-currency-input-web-apps/

一旦用户开始在字段中写入/键入,它就会开始以这种方式添加数字 - 0.01 -> 0.12 -> 1.23 -> 12.34 。所以这可以用于类似的效果。

这里还概述了网络应用的输入类型,您可以在其中看到不能使用带有数字和小数点的输入类型。

http://www.fabianpimminger.com/web-development/how-to-change-the-iphone-on-screen-keyboard-in-web-apps/

【讨论】:

  • 不幸的是,包含的第一个链接是 404'ing :(
【解决方案2】:

结帐inputmode="decimal" 属性。

https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode

尚未得到广泛支持,但它在 iOS 12.2 中可用。

https://caniuse.com/#feat=input-inputmode

【讨论】:

  • 谢谢——这正是我所需要的!使用 type="number" 调出全键盘(带有字母等)...我只需要数字键盘,但使用小数!
【解决方案3】:

将 inputmode="decimal" 属性添加到输入标签。

<input id="price" type="number" min="0" inputmode="decimal">

https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode查看其他输入模式

【讨论】:

    【解决方案4】:

    Apple documentationnumber 列为输入类型:

    用于指定数字的文本字段。在 iOS 3.1 及更高版本中调出数字键盘。指定 \d* 或 [0-9]* 的输入类型等同于使用此类型。

    【讨论】:

    • 谢谢,是的,这将显示常规数字小键盘(无小数按钮),但不显示包含小数的特殊数字小键盘。我正在尝试获取可用于本机 iOS 应用程序的 UIKeyboardTypeDecimalPad 键盘,以便在点击网络表单时显示。
    • 啊,我明白了,我假设number 包含一个十进制按钮。
    【解决方案5】:

    number 的问题是它只接受整数。我找到了this,他提到添加step="any"。现在你得到了数字键盘,可以输入小数了。

    【讨论】:

    • 不幸的是 type="number" 仍然会显示常规的字母数字键盘。您必须使用 type="tel" 或使用 pattern="\d*" 来获取数字键盘,所以这不起作用!不过还是谢谢。
    • 其实我不是 100% 正确的。它带来了另一个我从未见过的数字键盘,但有很多额外的字符,如连字符、括号、$、&、@ 等。我希望电话风格的数字键盘带有易于按下的大按钮,然后是左下角的小数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 2010-09-21
    • 2010-11-26
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多