2011-11-30 91 views
22

我正在Android上创建一个HTML5应用程序,对于这个特定的场景,我们有一个用于信用卡安全代码的输入字段,我们希望强制输入字段仅为数字并且被屏蔽。有没有办法让屏蔽数字输入栏位?

我没有找到这个具体案例的运气,从我研究/试验出来的所有信息都可以看出,这不能单纯通过HTML5完成(因为数字和密码都是类型和密码的选项只能使用一种类型)。我错过了什么,并有一种方法来弹出数字键盘,同时通过HTML5屏蔽输入,或者有另一种方法来强制键盘输入类型或通过CSS或JavaScript屏蔽输入?

感谢您的帮助!

+0

当您说'纯粹通过HTML5'时,您是否确实是'没有JavaScript'? – robertc

+0

最好我想单独使用输入字段的参数;不过,我愿意使用JavaScript。我能想到的唯一潜在的解决方案是默认字段类型数字和焦点事件将类型更改为JS中的密码。我没有测试过,所以我不确定Android会如何处理。 – JakeW

+0

@ user1074240,你的意思是像一个PIN号码字段?如果是这样,请使用'password'字段,但验证该值必须是数字。 – zzzzBov

回答

35

如果它仅需要在基于WebKit的浏览器的工作,和CSS被允许在“纯粹通过HTML5”,你可以尝试:

input[type=number] { 
    -webkit-text-security: disc; 
} 

我不知道是否有当前的任何等同于其他浏览器 ,在未来这可以通过 appearance CSS property 来控制。已经从规格中删除了appearance的CSS3版本,因此看起来您需要等待text-security的标准化才能实现跨浏览器解决方案。

+0

谢谢你!因为我们只需要它在Android上工作,所以对我的情况非常适合。 – JakeW

+2

当然也适用于iPhone的web视图(例如PhoneGap应用程序)。 –

+0

现在已经差不多5年了,但我仍然找不到任何可以工作的更好的解决方案在任何浏览器中,所以目前看来什么都没有标准化? –