Samsung Galaxy Tablet does not allow entering floating point numbers to inputs with “number” type

后端 未结 5 944
天涯浪人
天涯浪人 2020-12-20 11:47

Our client wants us to display numeric keyboard for an input field so basically I created a field like:

相关标签:
5条回答
  • 2020-12-20 12:18

    Yes, there is another way.

    1. Way 1: don't use type="number" but use type="text"
    2. Way 2: Apply way 1 for only Android phones. Detect User-Agent etc.
    3. Way 3: Apply way 1 for only broken implementations. See: What models of Samsung smartphones have missing period for html5 input type="number"?
    4. Way 4: Use type="tel"' for only Android or broken. (can't use on iPhone as no period then)
    5. Way 5: use type="text" and then javascript with custom behavior. See:

    Period always shows: http://jsbin.com/heqeduyi/1/

    Period shows once 3 digits: http://jsbin.com/yinaweho/1

    0 讨论(0)
  • 2020-12-20 12:20

    To have decimal point in the numeric keyboard on Android Samsung devices use this in you EditText:

     android:inputType="numberDecimal"
    
    0 讨论(0)
  • 2020-12-20 12:23

    Did you try setting step to "any". Like:

    <input type="number" name="quantity" step="any" />
    

    I took out the "value" because I think you should, even if just for testing

    0 讨论(0)
  • 2020-12-20 12:39

    I do this in C#/Xamarin and what works for me on the code side (I dynamically build up forms) is using the following:

       EditText edittext1 = new EditText(view.Context);
       edittext1.InputType = Android.Text.InputTypes.NumberFlagDecimal;
    

    Hope it helps someone

    0 讨论(0)
  • 2020-12-20 12:40

    A workaround is to use type="tel" instead of type="number". Unfortunately on iOS type="tel" doesn't display the , char on the keyboard (at least I didn't find it there). You can check the user agent for iOS devices and then change type on "number".

    0 讨论(0)
提交回复
热议问题