<input type="month">
Gli elementi <input>
di tipo month
creano campi di input che consentono all'utente di inserire un mese e un anno consentendo di inserire facilmente un mese e un anno. Il valore è una stringa il cui valore è nel formato " YYYY-MM
", dove YYYY
è l'anno a quattro cifre ed MM
è il numero del mese.
L'interfaccia utente del controllo varia in generale da browser a browser; al momento il supporto è irregolare, con solo Chrome/Opera ed Edge su desktop e la maggior parte delle moderne versioni dei browser mobili con implementazioni utilizzabili. Nei browser che non supportano monthgli input, il controllo degrada gradualmente a un semplice <input type="text">
, anche se potrebbe esserci una convalida automatica del testo inserito per garantire che sia formattato come previsto.
Valore
Una stringa che rappresenta il valore del mese e dell'anno immessi nell'input, nel formato AAAA-MM (anno a quattro o più cifre, quindi un trattino ("-"), seguito dal mese a due cifre).
Impostazione di un valore predefinito
Puoi impostare un valore predefinito per il controllo di input includendo un mese e un anno all'interno dell'attributo value
, in questo modo:
<label for="bday-month">In che mese sei nato?</label>
<input id="bday-month" type="month" name="bday-month" value="2001-06">
Una cosa da notare è che il formato della data visualizzato è diverso da quello effettivo di value
; la maggior parte dei programmi utente visualizza il mese e l'anno in una forma appropriata alla locale, in base alla locale impostata del sistema operativo dell'utente, mentre la data valueè sempre formattata yyyy-MM.
Quando il valore sopra viene inviato al server, ad esempio, apparirà come bday-month=1978-06
.
Attributi aggiuntivi
Oltre agli attributi comuni agli elementi <input>
, gli input month
offrono i seguenti attributi.
list
I valori dell'attributo list sono quelli di un elemento <datalist>
che si trova nello stesso documento. Fornisce un elenco di valori <datalist>
predefiniti da suggerire all'utente per questo input. Eventuali valori nell'elenco che non sono compatibili con type
non sono inclusi nelle opzioni suggerite. I valori forniti sono suggerimenti, non requisiti: gli utenti possono selezionare da questo elenco predefinito o fornire un valore diverso.
max
L'ultimo anno e mese, nel formato stringa discusso nella sezione Valore sopra, da accettare. Se il valore di value
immesso nell'elemento supera questo valore, l'elemento non supera la convalida del vincolo. Se il valore dell'attributo max
non è una stringa valida in formato "yyyy-MM", l'elemento non ha un valore massimo.
Questo valore deve specificare un abbinamento anno-mese successivo o uguale a quello specificato dall'attributo min
.
min
L'ultimo anno e mese per accettare, nello stesso formato "yyyy-MM" descritto sopra. Se il valore di value
dell'elemento è inferiore a questo, l'elemento non supera la convalida del vincolo . Se viene specificato un valore min
che non è una stringa di anno e mese valida, l'input non ha un valore minimo.
Questo valore deve essere un abbinamento anno-mese precedente o uguale a quello specificato dall'attributo max
.
readonly
Un attributo booleano che, se presente, significa che questo campo non può essere modificato dall'utente. Tuttavia, value
può ancora essere modificato dal codice JavaScript che imposta direttamente il valore della proprietà HTMLInputElement.value
.
step
L'attributo step
è un numero che specifica la granularità a cui deve attenersi il valore o il valore speciale any
, descritto di seguito. Sono validi solo i valori che sono uguali alla base per il passaggio ( min
se specificato, value
altrimenti, e un valore predefinito appropriato se nessuno di questi è fornito).
Un valore stringa di any
significa che non è implicito alcun passaggio e qualsiasi valore è consentito (salvo altri vincoli, come min
e max
).
Per gli input month
, il valore di step
è espresso in mesi, con un fattore di scala pari a 1 (poiché anche il valore numerico sottostante è in mesi). Il valore predefinito di step
è 1 mese.