输入类型号在ipad上不起作用

时间:2017-07-14 07:01:18

标签: ipad safari ionic2

我在离子中创建输入,只接受数字。这适用于除safari和ipad之外的所有浏览器和设备。我不希望用户输入除数字以外的任何内容。我试图对输入事件进行正则表达式验证,但这并不能阻止用户输入字母表。我尝试了keydown事件,但我没有得到keyDown事件的innerText。请帮忙

3 个答案:

答案 0 :(得分:8)

我知道这是一个老问题,但我碰巧有同样的问题,我注意到最终对我有用的东西还没有作为答案提供,所以我会添加答案下一个人。

<input type="number" min="0" inputmode="numeric" pattern="[0-9]*" title="Non-negative integral number">

This site解释了您感兴趣的解决方案背后的原因。

它的要点是pattern="[0-9]*"是触发iOS显示数字小键盘的原因,而minnumeric则确保其他操作系统和浏览器仍可正常使用type="number"

编辑:iPad的iOS 12.2不再支持pattern="[0-9]*"修复 - 也许使用type=tel

答案 1 :(得分:2)

你可以试试这个

<ion-input type="tel" inputmode="numeric" pattern="[0-9]*"></ion-input>

这将强制输入在iOS上的数字模式下,正则表达式只是为了确保它只获得数字。据我所知,这不适用于input="number",但这是一个旧解决方案(仍然适用于我)。因此,您可以尝试使用number,如果不起作用,请回到tel

希望这会有所帮助:D

答案 2 :(得分:1)

如果可以,请提供输入的示例代码。 但你也可以尝试这个

<ion-item>
    <ion-label color="primary">Inline Label</ion-label>
    <ion-input placeholder="Text Input" type="number"></ion-input>
  </ion-item>

根据Ionic Inputs

您可以使用“text”,“password”,“email”,“number”,“search”,“tel”或“url”。作为输入类型。对不起,如果我弄错了你的问题。请尝试提供代码示例。谢谢:))