输入类型="密码"使用移动设备上的数字键盘

JT *_*lan 37 html passwords mobile numbers input

在我为移动设备设计的网站上,我有一个用于PIN码的输入字段.我希望文本在输入时隐藏,我希望当移动设备上的用户想要输入PIN时,会弹出数字键盘.当Type ="Number"时,数字键盘会弹出,而当Type ="Password"时,数字键盘不会弹出,而我不能(或者不知道如何)设置Type ="Number and Password".

有任何想法吗?

提前致谢!

Mat*_*cci 36

最后,我在这里找到了答案:

input[type=number] {
    -webkit-text-security: disc;
}
Run Code Online (Sandbox Code Playgroud)

(仅适用于基于WebKit的浏览器)

  • `<input type ="number"pattern ="[0-9]*"inputmode ="numeric"min ="1111"max ="9999"style =" - webkit-text-security:disc;" 自动对焦/>` (3认同)
  • 继我之前的评论之后:似乎将输入字段类型从"number"更改为"tel"会阻止自动建议区域显示任何内容.结合`-webkit-text-security:disc;`,这可以确保密码不会显示在屏幕上. (2认同)
  • 请注意,这种方法可能不安全,因为输入值可以在检查器中看到。此外,语音会大声读出数字。 (2认同)

Juk*_*ela 32

某些浏览器(iOS)识别触发数字小键盘的特定pattern属性值[0-9]*.

HTML 5.1草案中包含的inputmode属性,它被设计来解决输入模式(如键盘)选择的具体问题,但尚未实施.

不过,你可以将它用于未来 - 尽管当前的HTML 5.1不允许使用它type=password,原因有些奇怪.

<input type="password" pattern="[0-9]*" inputmode="numeric">
Run Code Online (Sandbox Code Playgroud)

  • 我在iOS 8.2上尝试了这个,我得到了常规的字母键盘.当`type ="text"`时,完全按预期工作; 只有当我把它改成`type ="password"时才能得到字母键盘. (8认同)
  • 是的,这个"解决方案"不起作用 (5认同)
  • 如果您想测试这些答案中提供的不同方法,请在您的设备上查看http://cdpn.io/e/ygoNbJ (2认同)