簡體   English   中英

input type=number 無法在手機上插入負數

[英]input type=number not possible to insert negative numbers on mobile phone

我正在我的手機(帶 chrome 的三星 Galaxy Note II)上測試我的應用程序,但我在輸入數字字段時遇到了問題。

在我的應用程序中,這些字段可以接受負數,而在瀏覽器上這一切都很好,因為我有-按鈕和用於選擇數字的箭頭滑塊(來自 html5)。

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

我的應用程序使用帶有 jquery 的 twitter bootstrap 2.3.2,我不知道如何解決這個問題。

這是我的一個輸入字段的代碼,它可以在我的計算機上正常工作,但無法在我的手機上正確使用它們:

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

我手機的截圖

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

這個問題是三星定制鍵盤特有的——對於那些認為自己比所有人都聰明的供應商來說,萬歲。 這是工作中此問題的另一個示例

簡而言之,沒有辦法讓減號出現在三星安卓數字輸入上。 以下是我遇到的一些解決方法:

1) 谷歌鍵盤

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

在此處輸入圖片說明

2) 否定按鈕

正如@Cris 已經建議的那樣,添加一個取消該值的按鈕。 如果你有屏幕空間那就太好了。

3)雙點技巧

我們最終得到了一個相當丑陋的解決方法,用戶可以按. 兩次,它將否定該數字。 完全無法發現,但我們無法選擇額外的按鈕。

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

創建一個額外的輸入字段。 “符號”復選框,選擇自然或負整數。

然后掛鈎復選框的 onchange 事件,以便更新數字視圖以反映所選符號。

如果您使用 value 屬性 (value="-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">

如果你返回這里是因為上面的雙點技巧停止工作......似乎對輸入類型=“數字”字段的處理方式的更新可以防止第二個“點”甚至注冊為停止雙點工作的擊鍵。 就我而言,我將 JS 中的測試行更改為

if (lastkey === "." && (key === "." || e.originalEvent.inputType == "deleteContentBackward")){

創建同樣hacky的“Dot Backspace Trick”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM