2011-11-30 90 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年了,但我仍然找不到任何可以工作的更好的解決方案在任何瀏覽器中,所以目前看來什麼都沒有標準化? –