2013-01-16 12 views
16

non riesco a trovare il modo di definire un valore di passo e una precisione ad un ingresso [numero]fase di immissione del numero Html5 e precisione

1.01 è considerato come non valido fino a specificare un passo di 0.01. Ma in tal caso non posso specificare un passaggio specifico.

Stesso problema con il numero grande. Se a specificare un passo di 1000 e il tipo di utente 1001 il valore è considerata non valida ...

Si può avere uno sguardo a questo example

+1

non ha senso? Non ho familiarità con le specifiche, ma sembra ovvio che solo i numeri che sono multipli del passo sarebbero validi. Quale comportamento speri? – hobberwickey

+0

Prima voglio usare la convalida HTML5. - Voglio anche consentire di aumentare il valore del numero inserito con un numero enorme. Ma imposta anche quelli personalizzati (non multipli del [passo]). La convalida HTML5 imposta il mio input come: non valido una volta che ho impostato un numero non un multiplo del [passo]. –

+0

Ho lo stesso problema quando uso 'step = .01' ma un numero perfettamente valido per me è' 1.00001' quindi viene visualizzato come ': invalid'. Hai mai trovato un lavoro in giro? – chovy

risposta

2

Date un'occhiata al Definition and Usage dell'attributo step:

L'attributo step specifica gli intervalli di numeri legali per un elemento .

Una volta fuori dagli intervalli, il numero è illegale.

Prova a utilizzare il codice Javascript per occuparti di te.

+0

Il codice Javascript non mi aiuterà. Una volta impostato un valore non multiplo del [passo], l'input è contrassegnato come: non valido –

+2

dovrai scrivere il tuo codice di convalida personalizzato e poi usare javascript. Non è possibile rendere l'HTML funzionante in un modo che non è così. – hobberwickey

18

Immagino di voler disabilitare la convalida del passo. Se è così, step="any" dovrebbe funzionare.

+1

Ma in quel caso ho perso la funzionalità stepper ... –

+0

È possibile aggiungere la propria interfaccia utente passo-passo. –

+1

limitazione triste di html5 :( – brauliobo

7

Probabilmente è sufficiente definire un passaggio corretto e un valore iniziale adatto al proprio scopo.

Il ruolo dell'attributo value non è completamente spiegato nella documentazione dell'attributo stephttp://www.w3schools.com/tags/att_input_step.asp.

Nel primo input dell'esempio, gli attributi sono impostati su value = 1.01 e step = 1 (valore predefinito). L'input accetta i seguenti valori: 1.01 + 1n. dove n è un valore intero. Esempio di valori accettati: 1.01, 2.01, 3.01 e così via, nonché -0.99, -1.99 -1.99 e così via.

Come regola generale, i valori accettati saranno:

value + step * n

Dove n \in \mathbb{Z}.

È possibile avere un'idea dei valori accettati utilizzando i tasti freccia SU/GIÙ quando l'input è a fuoco.

Come suggerito nelle precedenti risposte, step="any" disabiliterà la convalida del passo, non disabiliterà la funzionalità stepper (step per impostazione predefinita 1), ma richiederà l'implementazione della convalida del passo a mano.

Problemi correlati