2014-02-10 70 views
10

我在我的手機上測試我的應用程序(三星Galaxy Note II與鉻),我有一個數字輸入字段的問題。輸入類型=數字不可能在手機上插入負數

在我的應用程序中,這些字段可以接受負數,並且在瀏覽器中一切正常,因爲我有-按鈕以及用於選擇數字的箭頭滑塊(來自html5)。

在手機上雖然沒有呈現滑塊,並且瀏覽器識別輸入類型=數字,只是呈現一個簡化的數字鍵盤,它不包含-符號,所以我沒有看到一種方法插入我希望的負數。

我的應用程序使用twitter引導2.3.2與jquery,我不知道如何解決這個問題。

這裏是爲工作,我的電腦罰款我的輸入字段的一個代碼,但不能正確地使用它們我的手機上:

<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1"> 

screenshot from my phone

圖像中可以看到如何紅色字段被標記爲錯誤,因爲它需要爲負值,但我的鍵盤不允許插入符號。包括-標誌。 任何線索?

+3

你應該總是應付的電話號碼作爲字符串,而不是實際的數字,因爲他們是一個字符串*數字(可能還有其他符號如+)而不是數字*。我對android開發一無所知,但如果您將數據類型更改爲字符串,這有幫助嗎? –

+4

@Max Williams:你有沒有聽說過_negative_電話號碼?也許你應該再讀一次這個問題...... –

+1

剛剛在Android 4.4.2和谷歌標準鍵盤和Swiftkey鍵盤的Chrome 32.0.1700.99 Nexus 4上進行了測試,兩者都正常工作。也許這是「舊」Android/Chrome版本的「舊」設備的問題?如果事實證明這是問題,那麼您應該使用@MaxWilliams解決方法使用純字符串輸入字段。 –

回答

2

創建一個額外的輸入字段。 「簽名」複選框,選擇自然或負數整數。

然後鉤住複選框的onchange事件,以便更新數字視圖以反映所選標誌。

1

總之,沒有辦法讓減號顯示在三星Android數字輸入。下面是我整個運行幾個解決方法:

1)谷歌鍵盤

用戶可以安裝不同的鍵盤(如Google Keyboard)。顯然,讓人們安裝某些東西並不理想。

enter image description here

2)否定按鈕

作爲@Cris已經建議,添加一個按鈕,將否定的值。如果你有屏幕房地產,那麼很好。

3)雙點招數

我們結束了一個相當醜陋的替代方案,用戶可以按.兩次,這將否定的數量。完全不可發現,但額外的按鈕不是我們的選擇。

https://gist.github.com/bendytree/936f6b9b4c0e10138b7e9158b5fd05d9

0

如果使用的值屬性(值=「 - 0.1」)來加載一個初始的負值,那麼你將有負號預加載爲您服務。

<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1" value="-1"> 
相關問題