2012-06-21 15 views
15

Il nostro cliente ci vuole per visualizzare la tastiera numerica per un campo di input in modo sostanzialmente ho creato un campo come:Samsung Galaxy Tablet non consente l'immissione di numeri in virgola mobile ad ingressi di tipo "numero"

<input type="number" name="quantity" step=".01" value="0.00" />

Tuttavia , Galaxy Tablet cancella "." e unisce i numeri prima e dopo di esso, disattiva anche "." nella tastiera.

C'è un altro modo per risolvere questo problema o visualizzare la tastiera numerica nel campo di inserimento quando si utilizza type = "text"?

Nota: Ho provato a utilizzare l'attributo modello (che funziona su iPhone). Ho testato questo problema su vari dispositivi Android con Android 2.1+. Non ho riscontrato questo errore su nessun altro dispositivo HTC e Samsung.

+0

è per caso il tablet impostata sul formato numero europeo? - 'decimal point' e' comma' sono inversamente utilizzati nel formato numero europeo – Kshitij

+0

sfortunatamente no, sto testando su tastiera USA e anche su test client in Australia. – Korhan

+0

Quale scheda Galaxy e quale versione di Android? – chkdsk

risposta

3

Una soluzione alternativa è utilizzare type="tel" anziché type="number". Sfortunatamente su iOS type="tel" non viene visualizzato il carattere , sulla tastiera (almeno non l'ho trovato lì). È possibile controllare l'agente utente per i dispositivi iOS e quindi modificare type su "number".

1

Hai tentato di impostare il passaggio su "qualsiasi". Come:

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

ho tirato fuori il "valore", perché penso che si dovrebbe, anche se solo per i test

+1

provato questo. ma ancora nessuna chiave decimale. – Arvin

7

Sì, c'è un altro modo.

  1. Way 1: non utilizzare type="number" ma utilizzare type="text"
  2. Way 2: Applicare strada 1 solo per i telefoni Android. Rileva agente utente ecc.
  3. Modo 3: applicare il modo 1 solo per implementazioni interrotte. Vedi: What models of Samsung smartphones have missing period for html5 input type="number"?
  4. Modo 4: utilizzare type="tel"' solo per Android o interrotto. (non è possibile utilizzare su iPhone come periodo non allora)
  5. Modo 5: utilizzare type="text" e quindi javascript con comportamento personalizzato. Vedere:

Periodo mostra sempre: http://jsbin.com/heqeduyi/1/

Periodo dimostra ancora una 3 cifre: http://jsbin.com/yinaweho/1

-1

di avere il punto decimale nel tastierino numerico su dispositivi Samsung Android utilizzare questo in voi EditText:

android:inputType="numberDecimal" 
1

Faccio questo in C#/Xamarin e ciò che funziona per me sul lato codice (I moduli dinamicamente creati) utilizza il seguente:

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

Speranza che aiuta qualcuno

Problemi correlati