2017-07-14 72 views
2

我在離子中創建輸入,只接受數字。這適用於除safari和ipad之外的所有瀏覽器和設備。我不希望用戶輸入除數字以外的任何東西。我試圖對輸入事件進行正則表達式驗證,但這並不能阻止用戶輸入字母。我嘗試了keydown事件,但我沒有得到keyDown事件的innerText。請幫助輸入類型號碼不能在ipad上工作

回答

0

我知道這是一個老問題,但我碰巧有同樣的問題,我注意到了到底是什麼工作對我來說還沒有被作爲一個答案提供,所以我會爲下一個人添加答案。

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

This site解釋瞭解決方案背後的原因,以防萬一您有興趣。

它的要點是,pattern="[0-9]*"是什麼觸發的iOS顯示數字鍵盤,而minnumeric在那裏,以確保其他操作系統和瀏覽器仍與type="number"

正常工作
2

如果您可以請提供您輸入的示例代碼。 不過你可以試試這個也

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

根據Ionic Inputs

您可以使用 「文本」, 「密碼」, 「電子郵件」, 「號碼」, 「搜索」, 「電話」,或者「網址」。作爲輸入類型。對不起,如果我誤解了你的問題。請嘗試提供一個代碼示例。謝謝:)

1

你可以試試這個

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

這將迫使輸入要在iOS上的數字模式和正則表達式只是爲了確保它只會得到的數字。據我所知這不會與input="number",但這是一箇舊的解決方案(這仍然適用於我)。所以你可以試試number,如果不行的話,可以回到tel

希望這有助於:d