Come posso ottenere il valore "reale" di un <input type="number">
campo?
Ho una input
scatola e sto usando il tipo di input HTML5 più recente number
:
<input id="edQuantity" type="number">
Questo è principalmente supportato in Chrome 29:
Ciò di cui ho bisogno ora è la capacità di leggere il valore "grezzo" che l'utente ha inserito nella casella di input. Se l'utente ha inserito un numero:
allora edQuantity.value = 4
, e tutto va bene.
Ma se l'utente inserisce un testo non valido, voglio colorare di rosso la casella di input:
Sfortunatamente, per una type="number"
casella di input, se il valore nella casella di testo non è un numero, value
restituisce una stringa vuota:
edQuantity.value = "" (String);
(almeno in Chrome 29)
Come posso ottenere il valore "grezzo" di un <input type="number">
controllo?
ho provato a guardare l'elenco di Chrome di altre proprietà della casella di input:
non ho visto nulla che assomiglia all'ingresso effettivo.
Né sono riuscito a trovare un modo per sapere se la casella "è vuota" o meno. Forse avrei potuto dedurre:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
Nota : puoi ignorare tutto ciò che segue la riga orizzontale; è solo un riempitivo per giustificare la domanda. Inoltre: non confondere l'esempio con la domanda. Le persone potrebbero volere la risposta a questa domanda per motivi diversi dalla colorazione del riquadro in rosso (Un esempio: convertire il testo "four"
nel "4"
simbolo latino durante l'evento onBlur)
Come posso ottenere il valore "grezzo" di un <input type="number">
controllo?
Lettura bonus
validity
stato del campo : mi sarei aspettato typeMismatch
ma non ho controllato da solo.
blah
è un numero non valido".
number
non è il tipo di input che si sta cercando; utilizzare untext
input normale .