Limited availability
<input>
è¦ç´ ã® month
åã¯ãã¦ã¼ã¶ã¼ãå¹´ã¨æãå
¥åã§ããããã«ããå
¥åãã£ã¼ã«ãã使ããå¹´ã¨æãç°¡åã«å
¥åã§ããããã«ãã¾ãã å¤ã¯ YYYY-MM
ã®å½¢å¼ã®æååã§ãYYYY
㯠4 æ¡ã®å¹´ã MM
ã¯æã®çªå·ã§ãã
<label for="start">Start month:</label>
<input type="month" id="start" name="start" min="2018-03" value="2018-05" />
label {
display: block;
font:
1rem "Fira Sans",
sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
ã³ã³ããã¼ã«ã®ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãä¸è¬ã«ãã©ã¦ã¶ã¼ã«ãã£ã¦ç°ãªãã¾ããç¾æç¹ã§ã¯å¯¾å¿ãä¸å®å®ã§ããããã¹ã¯ãããçã® Chrome/Opera 㨠Edge â ããã³ææ°ã®ãã¼ã¸ã§ã³ã®ã¢ãã¤ã«ãã©ã¦ã¶ã¼ â ã®ã¿ã«å©ç¨å¯è½ãªå®è£
ãããã¾ãã month
å
¥åæ¬ã«å¯¾å¿ãã¦ããªããã©ã¦ã¶ã¼ã§ã¯ãã³ã³ããã¼ã«ã¯ <input type="text">
ã«æ ¼ä¸ãããã¾ãããå
¥åãããããã¹ããæå¾
ããã¦ããå½¢å¼ã§ãããã¨ãä¿è¨¼ããããã®èªåæ¤è¨¼ãè¡ããããã¨ãããã¾ãã
month
ã«å¯¾å¿ãã¦ããªããã©ã¦ã¶ã¼ã使ç¨ãã¦ããå ´åã®ããã«ããã®ã¹ã¯ãªã¼ã³ã·ã§ããã§ Chrome 㨠Opera ã§ã©ã®ããã«è¦ãããã示ãã¾ãã å³ç«¯ã«ããä¸åãç¢å°ãã¯ãªãã¯ããã¨ãå¹´ã¨æã鏿ã§ããæ¥ä»é¸æã表示ããã¾ãã
Microsoft Edge ã§ã¯ã month
ã³ã³ããã¼ã«ã¯ãã®ããã«è¡¨ç¤ºããã¾ãã
æååã§ãå
¥åæ¬ã«å
¥åãããå¹´ã¨æã®å¤ã YYYY-MMï¼4 æ¡ä»¥ä¸ã®å¹´ã«ç¶ãã¦ãã¤ãã³ (-
)ãç¶ã㦠2 æ¡ã®æï¼ã®å½¢å¼ã§è¡¨ãã¾ãã ãã®å
¥ååã§ä½¿ç¨ãããæå»ã®å¤ã®å½¢å¼ã«ã¤ãã¦è©³ããã¯ãææååãã覧ãã ããã
å
¥åã³ã³ããã¼ã«ã®æ¢å®å¤ã¯ã次ã®ããã« value
屿§ã«å¹´ã¨æãå
¥ãããã¨ã§è¨å®ãããã¨ãã§ãã¾ãã
<label for="bday-month">çã¾ããæã¯ï¼</label>
<input id="bday-month" type="month" name="bday-month" value="2001-06" />
ä¸ç¹æ°ãä»ããªããã°ãªããªããã¨ã¯ã表示ãããæ¥ä»ã®æ¸å¼ã¯å®éã® value
ã¨ã¯ç°ãªãã¨ãããã¨ã§ããå¤ãã®ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ãå¹´ã¨æãã¦ã¼ã¶ã¼ã®ãªãã¬ã¼ãã£ã³ã°ã·ã¹ãã ã«è¨å®ããããã±ã¼ã«ã«é©ããå½¢å¼ã§è¡¨ç¤ºãã¾ãããæ¥ä»ã® value
ã¯å¸¸ã« yyyy-MM
ã®æ¸å¼ã§ãã
ä¸è¨ã®å¤ããµã¼ãã¼ã¸éä¿¡ãããå ´åã¯ãä¾ãã°ã bday-month=1978-06
ã®ããã«ãªãã¾ãã
次ã®ããã«ã JavaScript ã§ HTMLInputElement.value
ããããã£ã使ç¨ãã¦ãæ¥ä»ã®å¤ãåå¾ãããè¨å®ããããããã¨ãã§ãã¾ãã
<label for="bday-month">çã¾ããæã¯ï¼</label>
<input id="bday-month" type="month" name="bday-month" />
const monthControl = document.querySelector('input[type="month"]');
monthControl.value = "2001-06";
追å ã®å±æ§
ãã¹ã¦ã® <input>
åã§å
±éãã屿§ã«å ãã month
åã®å
¥åæ¬ã¯æ¬¡ã®å±æ§ã«ã対å¿ãã¦ãã¾ãã
list 屿§ã®å¤ã¯ãåãææ¸å
ã«ãã <datalist>
è¦ç´ ã® id
ã§ãã <datalist>
ã¯ããã®å
¥åæ¬ã§ã¦ã¼ã¶ã¼ã«ææ¡ããããã®äºåå®ç¾©ãããå¤ã®ãªã¹ããæä¾ãã¾ãã ãªã¹ãã®ä¸ã®å¤ã®ãã¡ããã® type
ã¨äºææ§ã®ãªããã®ã¯ãææ¡ããããªãã·ã§ã³ã«ã¯å«ã¾ãã¾ããã æä¾ãããå¤ã¯ææ¡ã§ãããè¦ä»¶ã§ã¯ããã¾ãããã¦ã¼ã¶ã¼ã¯ãã®å®ç¾©æ¸ã¿ãªã¹ããã鏿ãããã¨ããç°ãªãå¤ãæä¾ãããã¨ãã§ãã¾ãã
ææ°ã®å¹´æã§ãä¸è¨ã®å¤ã§èª¬æããæååã®æ¸å¼ã§ãã è¦ç´ ã«å
¥åããã value
ããã®æ¥ä»ãããå¾ã®å ´åãè¦ç´ ã¯å¶ç´æ¤è¨¼ã«å¤±æãã¾ãã max
屿§ã®å¤ã yyyy-MM
ã®æ¸å¼ã«å¾ã妥å½ãªæååã§ãªãå ´åãè¦ç´ ã¯æå¤§å¤ãæã¡ã¾ããã
ãã®å¤ã¯ min
屿§ã§æå®ããããã®ããå¾ããåãå¹´æãæå®ããå¿
è¦ãããã¾ãã
åãä»ããæå¤ã®å¹´æã§ãåè¿°ã¨åã yyyy-MM
ã®æ¸å¼ã§ãã è¦ç´ ã® value
ãããããåã®å ´åãè¦ç´ ã¯å¶ç´æ¤è¨¼ã«å¤±æãã¾ãã min
屿§ã®å¤ã "yyyy-MM-dd
" ã®æ¸å¼ã«å¾ã妥å½ãªæååã§ãªãå ´åãè¦ç´ ã¯æå°å¤ãæã¡ã¾ããã
ãã®å¤ã¯ max
屿§ã§æå®ããããã®ããåããåãå¹´æãæå®ããå¿
è¦ãããã¾ãã
è«ç屿§ã§ãåå¨ããã°ãã¦ã¼ã¶ã¼ãç·¨éãããã¨ãã§ããªããã¨ã表ãã¾ãã ãããã value
ã¯ã JavaScript ã³ã¼ãããç´æ¥ HTMLInputElement.value
ããããã£ãè¨å®ãããã¨ã§å¤æ´ãããã¨ãã§ãã¾ãã
ã¡ã¢: èªã¿åãå°ç¨ãã£ã¼ã«ãã¯å¤ãæã¦ãªãããã required
㯠readonly
屿§ãæå®ããã¦ããå
¥åæ¬ã«ã¯å¹æãããã¾ããã
step
屿§ã¯å¤ãå¸çããç²åº¦ãæå®ããæ°å¤ãã¾ãã¯å¾è¿°ããç¹æ®ãªå¤ any
ã§ãã å»ã¿ã®åºæºå¤ã«çããå¤ï¼æå®ããã¦ããã° min
ãããã§ãªããã° value
ãã©ã¡ããè¨å®ããã¦ããªããã°é©åãªæ¢å®å¤ï¼ã®ã¿ã妥å½ã¨ãªãã¾ãã
æååå¤ã® any
ã¯ãå»ã¿ããªããã©ã®å¤ã§ã許å¯ããããã¨ãæå³ãã¾ãï¼min
ã max
ãªã©ãä»ã®å¶ç´ã«ã¯å¶éããã¾ãï¼ã
ã¡ã¢: ã¦ã¼ã¶ã¼ããã¼ã¿ãå ¥åããã¨ãã«ã¯å»ã¿ã®è¨å®ã«ã¯å¸çãããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ç´è¿ã®å¦¥å½ãªå¤ãåãè·é¢ã®å¤ã®é¸æè¢ã 2 ã¤ãã£ãå ´åã¯ãæ£ã®æ¹åã®æ¨å¥¨å¤ã«ä¸¸ãããã¾ãã
month
å
¥åæ¬ã§ã¯ã step
ã®å¤ã¯ææ°ã§æå®ãããåç㯠1 ã§ã (æ°å¤ãæåä½ã§ãããã)ã step
ã®æ¢å®å¤ã¯ 1 ã¶æã§ãã
æ¥ä»ã«é¢ããå
¥åæ¬ã¯ (month
ãå«ã) ä¸è¦ããã¨ä¾¿å©ã«è¦ãã¾ããæ¥ä»ã®é¸æã«ç°¡åãªã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ãæä¾ãããµã¼ãã¼ã«éä¿¡ãããã¼ã¿ã®æ¸å¼ãã¦ã¼ã¶ã¼ã®ãã±ã¼ã«ã«é¢ä¿ãªãæ£è¦åãã¦ããã¾ãã ããããç¾æç¹ã§ã¯ãã©ã¦ã¶ã¼ã®å¯¾å¿ãéå®ããã¦ããããã <input type="month">
ã«ã¯åé¡ãããã¾ãã
<input type="month">
ã®åºæ¬çãªä½¿ãæ¹ã¨å°ãè¤éãªä½¿ãæ¹ãè¦ã¦ã¿ã¦ããããã®å¾ã§ãã©ã¦ã¶ã¼ã®äºææ§ã®åé¡ãç·©åããã¢ããã¤ã¹ãæä¾ãã¾ããã (ãã©ã¦ã¶ã¼ã®äºææ§ã®æ±ã ãåç
§ãã¦ãã ãã)ã
ãã£ã¨ãåºæ¬ç㪠<input type="month">
ã®ä½¿ç¨æ¹æ³ã¯ã次ã®ããã«åºæ¬ç㪠<input>
㨠<label>
è¦ç´ ã®çµã¿åããã§ãã
<form>
<label for="bday-month">çã¾ããæãå
¥åãã¦ãã ããã</label>
<input id="bday-month" type="month" name="bday-month" />
</form>
æ¥ä»ã®æå¤§å¤ã¨æå°å¤ã®è¨å®
min
ããã³ max
屿§ã使ç¨ãã¦ãã¦ã¼ã¶ã¼ã鏿ã§ããæ¥ä»ã®ç¯å²ãå¶éãããã¨ãã§ãã¾ãã æ¬¡ã®ä¾ã§ã¯ãæ¥ä»ã®æå°å¤ã 1900-01
ã«ãæ¥ä»ã®æå¤§å¤ã 2013-12
ã«æå®ãã¦ãã¾ãã
<form>
<label for="bday-month">çã¾ããæãå
¥åãã¦ãã ããã</label>
<input
id="bday-month"
type="month"
name="bday-month"
min="1900-01"
max="2013-12" />
</form>
次ã®ãããªçµæã«ãªãã¾ãã
<input type="month">
㯠size
ã®ãããªå¯¸æ³ã«é¢ãã屿§ã«ã¯å¯¾å¿ãã¦ãã¾ããã 寸æ³ã夿´ããå¿
è¦ãããå ´åã¯ã CSS ã使ç¨ããå¿
è¦ãããã¾ãã
æ¢å®ã§ã <input type="month">
ã¯å
¥åãããå¤ã®æ¤è¨¼ãè¡ãã¾ããã ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®å®è£
ã¯ä¸è¬çã«ãæ¥ä»ã§ãªããã®ã®å
¥åããããªãããã§ããããã¯ä¾¿å©ã§ããããããããã§ã month
å
¥åæ¬ã空ã®ã¾ã¾ãã¾ãã¯ç¡å¹ãªæ¥ä» (ä¾ãã° 4 æ 32 æ¥ãªã©) ãå
¥åãã¦ãã©ã¼ã ãéä¿¡ãããã¨ãå¯è½ã§ãã
ãããé²ãããã«ã min
㨠max
ãç¨ãã¦å©ç¨å¯è½ãªæ¥ãå¶éãããã¨ãã§ã (æ¥ä»ã®æå¤§å¤ã¨æå°å¤ã®è¨å® ãåç
§)ãå ã㦠required
屿§ãç¨ãã¦ãæ¥ä»ãå
¥åãããã¨ãå¿
é ã«ãããã¨ãã§ãã¾ãã çµæã¨ãã¦ã対å¿ãã¦ãããã©ã¦ã¶ã¼ã¯ãç¯å²å¤ã®æ¥ä»ãç©ºã®æ¥ä»ãã£ã¼ã«ããéä¿¡ãããã¨ããã¨ã¨ã©ã¼ã表示ãã¾ãã
ä¾ãè¦ã¦ã¿ã¾ããããããã§æ¥ä»ã®æå°å¤ã¨æå¤§å¤ãè¨å®ããå ¥åæ¬ãå¿ é ã«ãã¾ããã
<form>
<div>
<label for="month">
使ã«ããã£ãããã¾ããï¼ (6 ï½ 9 æ)
</label>
<input
id="month"
type="month"
name="month"
min="2022-06"
max="2022-09"
required />
<span class="validity"></span>
</div>
<div>
<input type="submit" value="ãã©ã¼ã ãéä¿¡" />
</div>
</form>
å¹´ã¨æãæå®ããã«ï¼ã¾ãã¯è¨å®ããç¯å²ãå¤ããæ¥ä»ãï¼éä¿¡ãããã¨ããã¨ããã©ã¦ã¶ã¼ã¯ã¨ã©ã¼ã表示ãã¾ãã ä¾ãå®è¡ãã¦ã¿ã¾ãããã
対å¿ãã¦ãããã©ã¦ã¶ã¼ã§å ¥åããªãã£ãå ´åã®ã¹ã¯ãªã¼ã³ã·ã§ããã§ãã
ä¸è¨ã®ä¾ã® CSS ã§ãã CSS ã® :valid
ããã³ :invalid
ããããã£ã使ç¨ãã¦ãç¾å¨ã®å¤ãæå¹ãã©ããã«åºã¥ãã¦ã¹ã¿ã¤ã«ãè¨å®ãã¦ãã¾ãã ã¢ã¤ã³ã³ã¯å
¥åæ¬ãã®ãã®ã§ã¯ãªããå
¥åæ¬ã®é£ã® <span>
ã«ç½®ãããã«ããªãã¨ã Chrome ã§ã¯ã³ã³ããã¼ã«ã®å
å´ã«ã³ã³ãã³ããçæããã®ã§ãæ£ããæ´å½¢ããã表示ããããããã¨ãã§ãã¾ããã
div {
margin-bottom: 10px;
position: relative;
}
input[type="number"] {
width: 100px;
}
input + span {
padding-right: 30px;
}
input:invalid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
input:valid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
è¦å: HTML ã®ãã©ã¼ã æ¤è¨¼ã¯ãå ¥åããããã¼ã¿ãæ£ããå½¢å¼ã§ãããã¨ãä¿è¨¼ããã¹ã¯ãªããã®ä»£ç¨ã«ã¯ãªãã¾ããã HTML ã調æ´ãã¦æ¤è¨¼ããããæããããå®å ¨ã«åé¤ããããããã¨ã¯ã¨ã¦ãç°¡åã«ã§ãã¾ãã HTML ãå®å ¨ã«ãã¤ãã¹ãããµã¼ãã¼ã«ç´æ¥ãã¼ã¿ãéä¿¡ãããã¨ãå¯è½ã§ãã ãµã¼ãã¼å´ã®ã³ã¼ããåä¿¡ãããã¼ã¿ã®æ¤è¨¼ã«å¤±æããå ´åãä¸é©åãªå½¢å¼ã®ãã¼ã¿ (ã¾ãã¯å¤§ãããããã¼ã¿ã誤ã£ã種é¡ã®ãã¼ã¿ãªã©) ãéä¿¡ãããå ´åã«é害ãçºçããããããããã¾ãã
ãã©ã¦ã¶ã¼ã®äºææ§ã®æ±ãåè¿°ã®ããã«ãç¾æç¹ã§æ¥ä»å
¥åãæ¸ãä¸ã§ä¸çªã®åé¡ã¯ãå¤ãã®ä¸»è¦ãªãã©ã¦ã¶ã¼ãã¾ã ãã¹ã¦ãå®è£
ãã¦ãã訳ã§ã¯ãªãã¨ãããã¨ã§ãããã¹ã¯ãããã§ã¯ Chrome/Opera 㨠Edge ã®ã¿ã対å¿ãã¦ãããã¢ãã¤ã«ã§ã¯å¤ãã®ææ°ã®ãã©ã¦ã¶ã¼ã対å¿ãã¦ãã¾ãã ä¾ãã°ã month
ã®é¸æç»é¢ã¯ Android ç Chrome ã§ã¯ãã®ããã«è¡¨ç¤ºããã¾ãã
対å¿ãã¦ããªããã©ã¦ã¶ã¼ã§ã¯ãããã¹ãå ¥åæ¬ã«å®å ¨ã«æ ¼ä¸ãããã¾ãããããã¯ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ä¸è²«æ§ (表示ãããã³ã³ããã¼ã«ãç°ãªããã¨) ã¨ãã¼ã¿ã®æ±ãã®ä¸¡æ¹ã§åé¡ãçã¿ã¾ãã
2 çªç®ã®åé¡ã¯ããæ·±å»ã§ãããã§ã«è¿°ã¹ãããã«ã month
å
¥åæ¬ã§ã¯ãå®éã®å¤ã常㫠yyyy-mm
ã®æ¸å¼ã§æ£è¦åããã¾ãã 䏿¹ãæ¢å®ã®è¨å®ã§ã¯ã text
å
¥åæ¬ã§ã¯ã©ã®æ¸å¼ã§å
¥åããããã®èªèããªãã以ä¸ã®ããã«äººéãæ¥ä»ãæ¸ãæ§ã
ãªæ¹æ³ã§å
¥åãããå¯è½æ§ãããã¾ãã
mmyyyy
(072022)mm/yyyy
(07/2022)mm-yyyy
(07-2022)yyyy-mm
(2022-07)Month yyyy
(July 2022)ãããåé¿ããæ¹æ³ã®ä¸ã¤ã¯ã month
å
¥åæ¬ã« pattern
屿§ãä»ãããã¨ã§ãã month
å
¥åæ¬ã¯ããã使ç¨ããªãã®ã§ã text
å
¥åæ¬ãªã©ã¨ãã¦æ±ããããã©ã¼ã«ããã¯ãããã¨ãã«ããã®ãã¿ã¼ã³ã使ç¨ãã¾ãã ä¾ãã°ã次ã®ä¾ã month
å
¥åæ¬ã«æªå¯¾å¿ã®ãã©ã¦ã¶ã¼ã§è¦ã¦ã¿ã¦ãã ããã
<form>
<div>
<label for="month">
使ã«ããã£ãããã¾ããï¼ (6 ï½ 9 æ)
</label>
<input
id="month"
type="month"
name="month"
min="2022-06"
max="2022-09"
required
pattern="[0-9]{4}-[0-9]{2}" />
<span class="validity"></span>
</div>
<div>
<input type="submit" value="ãã©ã¼ã ãéä¿¡" />
</div>
</form>
nnnn-nn
ã®ãã¿ã¼ã³ (n
ã¯æ°åã®0ãã9) ã«ä¸è´ããªãæååãå
¥åãã¦éä¿¡ãããã¨ããã¨ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ããã (ããã¦å
¥åæ¬ãç¡å¹ã¨ãã¦å¼·èª¿è¡¨ç¤ºããã) ã®ãåããã§ãããã ãã¡ãããããã§ã¦ã¼ã¶ã¼ãç¡å¹ãªæ¥ä»ãå
¥åããã (0000-42
ãªã©)ããã¿ã¼ã³ã«åããªã誤ã£ãæ¸å¼ã®æ¥ä»ãå
¥åãããããããã¨ãæ¢ãããã¨ã¯ã§ãã¾ããã
ã¾ããã¦ã¼ã¶ã¼ãæ°ããæ¥ä»å½¢å¼ã®ä¸ã§æå¾ ããããã®ãã©ãã§ããããç¥ããªãå¯è½æ§ãããã¾ãã å¾ã¯ãã®åã®ä½æ¥ãæ®ã£ã¦ãã¾ãã
div {
margin-bottom: 10px;
position: relative;
}
input[type="number"] {
width: 100px;
}
input + span {
padding-right: 30px;
}
input:invalid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
input:valid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
ï¼ãã¹ã¦ã®ä¸»è¦ãªãã©ã¦ã¶ã¼ã対å¿ããã¾ã§ã®éï¼ãã©ã¦ã¶ã¼ã«ä¾åããªãæ¹æ³ã«ãã£ã¦ãã©ã¼ã ã§æ¥ä»ãæ±ãæåã®æ¹æ³ã¯ãã¦ã¼ã¶ã¼ãå¹´ã¨æãå¥ã
ãªã³ã³ããã¼ã«ï¼<select>
è¦ç´ ã§ãããã¨ãå¤ãã§ãã以ä¸ã®å®è£
ãè¦ã¦ãã ããï¼ã«å
¥åããããã«ãããã jQuery date picker ã®ãã㪠JavaScript ã©ã¤ãã©ãªã¼ã使ç¨ãããã¨ã§ãã
ãã®ä¾ã§ã¯ãã¦ã¼ã¶ã¼ãå¹´ã¨æã鏿ã§ããããè¨è¨ãããã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®è¦ç´ ã 2 çµä½æãã¾ãã 1 ã¤ç®ã¯ãã¤ãã£ãã® month
å
¥åæ¬ã§ããããã 1 ã¤ã¯å¹´ã¨æãåå¥ã«é¸æãããã¨ãã§ããä¸å¯¾ã® <select>
è¦ç´ ã§ãã¾ã <input type="month">
ã«å¯¾å¿ãã¦ããªããã©ã¦ã¶ã¼ã®ããã®ãã®ã§ãã
å¹´ã¨æãå ¥åãããã©ã¼ã ã¯ãã®ããã«ãªãã¾ãã
<form>
<div class="nativeDatePicker">
<label for="month-visit">使ã«ããã£ãããã¾ããï¼</label>
<input type="month" id="month-visit" name="month-visit" />
<span class="validity"></span>
</div>
<p class="fallbackLabel">使ã«ããã£ãããã¾ããï¼</p>
<div class="fallbackDatePicker">
<div>
<span>
<select id="year" name="year"></select>
<label for="year">å¹´</label>
</span>
<span>
<select id="month" name="month">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
<label for="month">æ</label>
</span>
</div>
</div>
</form>
nativeDatePicker
ã® ID ãã¤ãã <div>
ã¯ãå¹´ã¨æããªã¯ã¨ã¹ãããããã« month
å
¥åæ¬ãç¨ããã®ã«å¯¾ãã fallbackDatePicker
ã® ID ãã¤ãã <div>
ã¯ä»£ããã«ä¸å¯¾ã® <select>
è¦ç´ ã使ç¨ãã¾ãã 1 ã¤ç®ã¯å¹´ãã2 ã¤ç®ã¯æãå
¥åãã¾ãã
æã鏿ãã <select>
ã¯ãå¤åããªãã®ã§æããã¼ãã³ã¼ãã£ã³ã°ãã¦ãã¾ãï¼ãã¼ã«ã©ã¤ãºã®åé¡ãæ®ã£ã¦ãã¾ããï¼ã å¹´ã«å©ç¨ã§ããå¤ã¯ãç¾å¨ã®å¹´ã«å¿ãã¦åçã«çæããã¾ãï¼ã©ã®ããã«åä½ãããã«ã¤ãã¦ã®è©³ç´°ãªèª¬æã¯ã以ä¸ã®ã³ã¼ãã®ã³ã¡ã³ããåç
§ãã¦ãã ããï¼ã
div {
margin-bottom: 10px;
position: relative;
}
input[type="number"] {
width: 100px;
}
input + span {
padding-right: 30px;
}
input:invalid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
input:valid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
JavaScript
ã©ã¡ãã®æ¹æ³ã使ç¨ãããã鏿ããéãã¤ãã£ãã®å¹´ã® <select>
ã«å¹´ã®ä¸è¦§ãè¨å®ãã JavaScript ã³ã¼ãã¯ä»¥ä¸ã®éãã§ãã
ãã®ä¾ã®é¢ç½ãããä¸ã¤ã®é¨åã¯ãæ©è½ã®æ¤åºã³ã¼ãã§ãã ãã©ã¦ã¶ã¼ã <input type="month">
ã«å¯¾å¿ãã¦ãããã©ãããæ¤åºããããã«ãæ°ã㪠<input>
è¦ç´ ãçæãããã® type
ã month
ã«è¨å®ãã¦ãããã« type ã«ä½ãè¨å®ããããããã§ãã¯ãã¾ãã 対å¿ãã¦ããªããã©ã¦ã¶ã¼ã§ã¯ãmonth
ã ãã©ã¼ã«ããã¯ãã㦠text
ãè¿ããã¾ãã <input type="month">
ã«å¯¾å¿ãã¦ããªãå ´åã¯ããã¤ãã£ãã®æ¥ä»é¸æãé表示ã«ãã¦ãã©ã¼ã«ããã¯ç¨ã®é¸æã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã表示ãã¾ãã
// UI è¦ç´ ã®åå¾
const nativePicker = document.querySelector(".nativeDatePicker");
const fallbackPicker = document.querySelector(".fallbackDatePicker");
const fallbackLabel = document.querySelector(".fallbackLabel");
const yearSelect = document.querySelector("#year");
const monthSelect = document.querySelector("#month");
// Hide fallback initially
fallbackPicker.style.display = "none";
fallbackLabel.style.display = "none";
// Test whether a new date input falls back to a text input or not
const test = document.createElement("input");
try {
test.type = "month";
} catch (e) {
console.log(e.description);
}
// If it does, run the code inside the if () {} block
if (test.type === "text") {
// Hide the native picker and show the fallback
nativePicker.style.display = "none";
fallbackPicker.style.display = "block";
fallbackLabel.style.display = "block";
// Populate the years dynamically
// (the months are always the same, therefore hardcoded)
populateYears();
}
function populateYears() {
// Get the current year as a number
const date = new Date();
const year = date.getFullYear();
// Make this year, and the 100 years before it available in the year <select>
for (let i = 0; i <= 100; i++) {
const option = document.createElement("option");
option.textContent = year - i;
yearSelect.appendChild(option);
}
}
ã¡ã¢: 53 é±ããå¹´ããããã¨ãå¿ããªãã§ãã ããï¼å¹´ãããã®é±æ°ãåç §ï¼ãååã®ã¢ããªãéçºããã¨ãã¯ããã念é ã«ç½®ãã¦ããå¿ è¦ãããã¾ãã
æè¡çæ¦è¦ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4