<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.