Baseline Widely available
<input>
è¦ç´ ã® time
åã¯ãã¦ã¼ã¶ã¼ãç°¡åã«æå» (æã¨åãä»»æã§ç§) ãå
¥åã§ããããã«è¨è¨ãããå
¥åæ¬ãçæãã¾ãã
ã³ã³ããã¼ã«ã®ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãã©ã¦ã¶ã¼ã¨ãªãã¬ã¼ãã£ã³ã°ã·ã¹ãã ã«åºã¥ãã¦ç¾ãã¾ãããæ©è½ã¯åãã§ãã UI ã®å
¥åå½¢å¼ã«é¢ããããå¤ã¯å¸¸ã«ã¼ããå
è¡ãã 24 æé表è¨ã® HH:mm
ã¾ã㯠HH:mm:ss
ã«æ¸å¼åãããæå»ã§ãã
<label for="appointment">ãã¼ãã£ã³ã°ã®æéã鏿ãã¦ãã ãã:</label>
<input
type="time"
id="appointment"
name="appointment"
min="09:00"
max="18:00"
required />
<small>ãªãã£ã¹ã¢ã¯ã¼ã¯åå9æããåå¾6æã¾ã§ã§ã</small>
label {
display: block;
font:
1rem "Fira Sans",
sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
value 屿§ã®è¨å®
<input>
è¦ç´ ã使ãããã¨ãã«ã次ã®ããã« value
屿§ã«æå»ãæå®ãããã¨ã§ãæ¢å®å¤ãè¨å®ãããã¨ãã§ãã¾ãã
<label for="appointment-time">äºç´æå»ãé¸ãã§ãã ããã</label>
<input
id="appointment-time"
type="time"
name="appointment-time"
value="13:30" />
JavaScript ã使ç¨ããå¤ã®è¨å®
次ã®ããã«ã HTMLInputElement
ã® value
ããããã£ã使ã£ã¦ JavaScript ã®æ¥æã®å¤ãåå¾ãããè¨å®ããããããã¨ãã§ãã¾ãã
const timeControl = document.querySelector('input[type="time"]');
timeControl.value = "15:30";
æå»å¤ã®æ¸å¼
time
å
¥åæ¬ã® value
ã¯ã常ã«å
é ã«ã¼ããå«ã 24 æå¶ã§ HH:mm
ã®æ¸å¼ã§ãããã¦ã¼ã¶ã¼ã®ãã±ã¼ã«ï¼ã¾ãã¯ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãï¼ã«åºã¥ãã¦é¸æãããå
¥åæ¸å¼ã¨ã¯é¢ä¿ããã¾ãããæå»ãç§ãå«ãå ´åï¼step 屿§ã®ä½¿ç¨ãåç
§ï¼ã¯ãæ¸å¼ã¯å¸¸ã« HH:mm:ss
ã§ãããã®å
¥ååã§ä½¿ç¨ãããæå»ã®å¤ã®å½¢å¼ã«ã¤ãã¦è©³ããã¯ãæå»æååãã覧ãã ããã
ãã®ä¾ã§ã¯ãæå»ãå ¥åãã㨠time å ¥åæ¬ã®å¤ããã©ã®ããã«å¤åããããè¦ããã¨ãã§ãã¾ãã
æåã«ã HTML ãè¦ã¦ãã ãããã©ãã«ã¨å
¥åæ¬ãè¨ç½®ãã¦ããã <p>
è¦ç´ ã¨ã time
å
¥åæ¬ã®å¤ã表示ãã <span>
ã追å ãã¦ãã¾ãã
<form>
<label for="startTime">éå§æå»: </label>
<input type="time" id="startTime" />
<p>
<code>time</code> å
¥åæ¬ã®å¤:
<code>"<span id="value">n/a</span>"</code>
</p>
</form>
JavaScript ã³ã¼ãã¯ã time å
¥åæ¬ã« input
ã¤ãã³ããç£è¦ããã³ã¼ãã追å ãã input è¦ç´ ã®ä¸èº«ã夿´ããããã³ã«å¼ã³åºãããããã«ãã¾ãããããçºçããã¨ã <span>
è¦ç´ ã®ä¸èº«ã input è¦ç´ ã®æ°ããå¤ã§ç½®ãæãããã¾ãã
const startTime = document.getElementById("startTime");
const valueSpan = document.getElementById("value");
startTime.addEventListener(
"input",
() => {
valueSpan.innerText = startTime.value;
},
false,
);
time
å
¥åæ¬ãå«ããã©ã¼ã ãéä¿¡ãããã¨ããã©ã¼ã ã®ãã¼ã¿ã«å«ããããåã«å¤ãã¨ã³ã³ã¼ãããã¾ãã time å
¥åæ¬ã®ãã©ã¼ã ã®ãã¼ã¿é
ç®ã¯ã常㫠name=HH%3Amm
ã®å½¢å¼ããç§ãå«ã¾ããå ´å㯠name=HH%3Amm%3ass
ã®å½¢å¼ã«ãªãã¾ãï¼step 屿§ã®å©ç¨ãåç
§ãã¦ãã ããï¼ã
ãã¹ã¦ã® <input>
è¦ç´ ã§å
±éãã屿§ã«å ãã time
åã®å
¥åæ¬ã¯æ¬¡ã®å±æ§ã«ã対å¿ãã¦ãã¾ãã
ã¡ã¢: å¤ãã®ãã¼ã¿åã¨ã¯ç°ãªããæå»å¤ã¯å¨æçç¯å²ãæã¡ãå¤ãæå¤§å¤ã«éããã¨ãæåã®å¤ã«æãè¿ãã¾ããä¾ãã°ã min
ã 14:00
ã«ã max
ã 2:00
ã«è¨å®ããã¨ã許å¯ãããæéã®å¤ã¯åå¾ 2 æããå§ã¾ããæ·±å¤ãçµã¦æ¬¡ã®æ¥ã®åå 2 æã§çµããã¾ãã詳ããã¯ããã®è¨äºã®æå°å¤ã¨æå¤§å¤ãçå¤ä¸ãã¾ããããã«ããã®ç¯ãã覧ãã ããã
list 屿§ã®å¤ã¯ãåãææ¸å
ã«ãã <datalist>
è¦ç´ ã® id
ã§ãã <datalist>
ã¯ããã®å
¥åæ¬ã§ã¦ã¼ã¶ã¼ã«ææ¡ããããã®äºåå®ç¾©ãããå¤ã®ãªã¹ããæä¾ãã¾ãããªã¹ãã®ä¸ã®å¤ã®ãã¡ type
ã¨äºææ§ã®ãªããã®ã¯ãææ¡ããããªãã·ã§ã³ã«ã¯å«ã¾ãã¾ãããæä¾ãããå¤ã¯ææ¡ã§ãããè¦ä»¶ã§ã¯ããã¾ãããã¦ã¼ã¶ã¼ã¯ãã®å®ç¾©æ¸ã¿ãªã¹ããã鏿ãããã¨ããç°ãªãå¤ãæä¾ãããã¨ãã§ãã¾ãã
æååã§ãåãä»ããæãé ãæå»ã示ããåè¿°ã®åãæå»å¤ã®æ¸å¼ã§æå®ãã¾ããæå®ãããæååã妥å½ãªæå»ã§ãªããã°ãæå¤§å¤ã¯è¨å®ããã¾ããã
minæååã§ãåãä»ããæãéãæå»ã示ããåè¿°ã®æå»å¤ã®æ¸å¼ã§ä¸ãããã¾ããæå®ãããå¤ã妥å½ãªæå»ã®æååã§ãªããã°ãæå°å¤ã¯è¨å®ããã¾ããã
readonlyè«ç屿§ã§ãåå¨ããã°ãã¦ã¼ã¶ã¼ãç·¨éãããã¨ãã§ããªããã¨ã表ãã¾ãããããã value
ã¯ã JavaScript ã³ã¼ãããç´æ¥ HTMLInputElement
ã® value
ããããã£ãè¨å®ãããã¨ã§å¤æ´ãããã¨ãã§ãã¾ãã
ã¡ã¢: èªã¿åãå°ç¨ã®ãã£ã¼ã«ãã¯å¤ãæã¤ãã¨ãã§ããªãã®ã§ã required
㯠readonly
屿§ãæå®ãããå
¥åã«ã¯ä½ã®å¹æãããã¾ããã
step
屿§ã¯ãå¤ãéµå®ããªããã°ãªããªãç²åº¦ãæå®ããæ°å¤ãã¾ãã¯ä¸è¨ã§è¨è¿°ããç¹å¥ãªå¤ any
ã§ããã¹ãããã®åºæºã¨ãªãå¤ï¼min
ãæå®ããå ´å㯠value
ããã以å¤ã®å ´åã¯é©åãªæ¢å®å¤ï¼ã¨åãå¤ã®ã¿ãæå¹ã¨ãªãã¾ãã
æååå¤ã® any
ã¯ãå»ã¿ããªããã©ã®å¤ã§ã許å¯ããããã¨ãæå³ãã¾ãï¼min
ã max
ãªã©ãä»ã®å¶ç´ã«ã¯å¶éããã¾ãï¼ã
ã¡ã¢: ã¦ã¼ã¶ã¼ããã¼ã¿ãå ¥åããã¨ãã«ã¯å»ã¿ã®è¨å®ã«ã¯å¸çãããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ç´è¿ã®å¦¥å½ãªå¤ãåãè·é¢ã®å¤ã®é¸æè¢ã 2 ã¤ãã£ãå ´åã¯ãæ£ã®æ¹åã®æ¨å¥¨å¤ã«ä¸¸ãããã¾ãã
time
å
¥åæ¬ã§ã¯ã step
ã®å¤ã¯ç§æ°ã§æå®ããã 1000 ãä¹ãããã¾ã (ããªç§åä½ã®æ°å¤ã§ãããã)ã step
ã®æ¢å®å¤ã¯ 60 ã§ããã 60 ç§ (1 åã60,000 ããªç§) ã表ãã¾ãã
ç¾æç¹ã§ã time
å
¥åæ¬ã§ step
ã« any
ã®å¤ãä½ãæå³ããããä¸æç¢ºã§ããããã¯æ
å ±ãæ±ºå®æ¬¡ç¬¬ãæ´æ°ãããã§ãããã
ãã£ã¨ãåç´ãª <input type="time">
ã®ä½¿ç¨æ¹æ³ã¯ã次ã®ãããªåºæ¬ç㪠<input>
㨠<label>
è¦ç´ ã®çµã¿åããã§ãã
<form>
<label for="appointment-time">äºç´æå»ãé¸ãã§ãã ãã: </label>
<input id="appointment-time" type="time" name="appointment-time" />
</form>
å
¥åæ¬ã®å¯¸æ³ã®å¶å¾¡
<input type="time">
ã¯ã size
ã®ãããªã³ã³ããã¼ã«ã®å¯¸æ³ã«é¢ãã屿§ã«ã¯å¯¾å¿ãã¦ãã¾ããã寸æ³ã夿´ããå¿
è¦ãããå ´åã¯ã CSS ã使ç¨ããå¿
è¦ãããã¾ãã
step
屿§ã使ç¨ãã¦ãæå»ãä¸ä¸ãããã¨ãã«å æ¸ããæéã®å¤§ããã夿´ãããã¨ãã§ãã¾ãï¼ä¾ãã°ãå°ããªç¢å°ã¦ã£ã¸ã§ãããã¯ãªãã¯ããã¨ãã« 10 ååä½ã§æå»ãåãããã«ï¼ã
å¢å ããç§æ°ãå®ç¾©ããæ´æ°å¤ãæå®ãã¾ããæ¢å®å¤ã¯ 60 ç§ã§ããæ¢å®ã§ã¯ãã»ã¨ãã©ã®ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã®æå» UI ã¯æåã表示ãã¾ãããç§ã¯è¡¨ç¤ºãã¾ããã UI ã«ç§æ°ã追å ããã«ã¯ã step
屿§ã« 60
ã§å²ãåããªãæ°å¤ãæå®ãããã min
å¤ã¾ã㯠max
å¤ã«ãã£ã¦ç§æ°ãæå®ãã¾ãã
<form>
<label for="appointment-time">äºç´æå»ãé¸ãã§ãã ãã: </label>
<input id="appointment-time" type="time" name="appointment-time" step="2" />
</form>
åã¾ãã¯æéã step ã¨ãã¦æå®ããã«ã¯ãåã¾ãã¯æéãç§ã§æå®ãã¾ãããã¨ãã° 2 åã§ããã° 120ã 2 æéã§ããã° 7200 ã®ããã«ãã¾ãã
æ¤è¨¼æ¢å®ã§ã¯ã <input type="time">
ã¯å
¥åãããå¤ã®æ¤è¨¼ãè¡ãã¾ãããã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®å®è£
ã¯ä¸è¬çã«ãæå»ã§ãªããã®ãå
¥åãããªãããã§ããããã¯ä¾¿å©ã§ãããå¤ã空æåå (""
) ã«ãããã¨ã許ããã¦ãããããå¤ãæ£ããæå»æååã§ãããã¨ãå®å
¨ã«ä¿¡é ¼ãããã¨ã¯ã§ãã¾ããã
min
ããã³ max
屿§ã使ç¨ãã¦ãã¦ã¼ã¶ã¼ã鏿ã§ããæå»ãå¶éãããã¨ãã§ãã¾ããæ¬¡ã®ä¾ã§ã¯ãæå»ã®æå°å¤ã 12:00
ã«ãæå»ã®æå¤§å¤ã 18:00
ã«è¨å®ãã¦ãã¾ãã
<form>
<label for="appointment-time">
äºç´æå»ãé¸ãã§ãã ãã (å¶æ¥æé 12:00ï½18:00):
</label>
<input
id="appointment-time"
type="time"
name="appointment-time"
min="12:00"
max="18:00" />
<span class="validity"></span>
</form>
ä¸è¨ã®ä¾ã® CSS ã§ãã CSS ã® :valid
ããã³ :invalid
ããããã£ã使ç¨ãã¦ãç¾å¨ã®å¤ãæå¹ãã©ããã«åºã¥ãã¦ã¹ã¿ã¤ã«ãè¨å®ãã¦ãã¾ããã¢ã¤ã³ã³ã¯ãå
¥åæ¬ã®é£ã® <span>
ã«ãããçæã³ã³ãã³ãã¨ãã¦è¿½å ãã¾ãã
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;
}
ããã§ã®çµæã¯æ¬¡ã®ããã«ãªãã¾ãã
min
屿§ã« max
屿§ããã大ããªå¤ãè¨å®ãããã¨ã§ãæå¹ãªæé帯ããåå0æãã¾ããããã«ãããã¨ãã§ãã¾ãããã®æ©è½ã¯ä»ã®å
¥ååã§ã¯å¯¾å¿ãã¦ãã¾ããã
const input = document.createElement("input");
input.type = "time";
input.min = "23:00";
input.max = "01:00";
input.value = "23:59";
if (input.validity.valid && input.type === "time") {
// <input type=time> ãç¯å²ã®æãè¿ãã«å¯¾å¿ãã¦ãã
} else {
// <input type=time> ãç¯å²ã®æãè¿ãã«å¯¾å¿ãã¦ããªã
}
æå»ãå¿
é ã«ãã
å ãã¦ã required
屿§ã使ç¨ãã¦ãæå»ã®å
¥åãå¿
é ã«ãããã¨ãã§ãã¾ãããã©ã¦ã¶ã¼ã¯è¨å®ç¯å²å¤ã¾ãã¯ç©ºæ¬ã® time å
¥åæ¬ãéä¿¡ãããã¨ããã¨ãã¨ã©ã¼ã表示ãã¾ãã
ä¾ãè¦ã¦ã¿ã¾ããããæå»ã®æå°å¤ã¨æå¤§å¤ãè¨å®ãããã¤å ¥åæ¬ãå¿ é ã«è¨å®ãã¦ãã¾ãã
<form>
<div>
<label for="appointment-time">
äºç´æå»ãé¸ãã§ãã ãã (å¶æ¥æé 12:00ï½18:00):
</label>
<input
id="appointment-time"
type="time"
name="appointment-time"
min="12:00"
max="18:00"
required />
<span class="validity"></span>
</div>
<div>
<input type="submit" value="ãã©ã¼ã ãéä¿¡" />
</div>
</form>
ãã©ã¼ã ã«ä¸å®å ¨ãªæå» (ã¾ãã¯è¨å®ãããç¯å²å¤ã®æå») ãè¨å®ãã¦éä¿¡ãããã¨ããã¨ããã©ã¦ã¶ã¼ã¯ã¨ã©ã¼ã表示ãã¾ããä¾ãå®è¡ãã¦ã¿ã¦ãã ããã
è¦å: HTML ã®ãã©ã¼ã æ¤è¨¼ã¯ãå ¥åããããã¼ã¿ãæ£ããå½¢å¼ã§ãããã¨ãä¿è¨¼ããã¹ã¯ãªããã®ä»£ç¨ã«ã¯ãªãã¾ããã HTML ã調æ´ãã¦æ¤è¨¼ããããæããããå®å ¨ã«åé¤ããããããã¨ã¯ã¨ã¦ãç°¡åã«ã§ãã¾ãã HTML ãå®å ¨ã«ãã¤ãã¹ãããµã¼ãã¼ã«ç´æ¥ãã¼ã¿ãéä¿¡ãããã¨ãå¯è½ã§ãããµã¼ãã¼å´ã®ã³ã¼ããåä¿¡ãããã¼ã¿ã®æ¤è¨¼ã«å¤±æããå ´åãä¸é©åãªå½¢å¼ã®ãã¼ã¿ (ã¾ãã¯å¤§ãããããã¼ã¿ãééã£ã種é¡ã®ãã¼ã¿ãªã©) ãéä¿¡ãããå ´åã«ç½å®³ãçºçããããããããã¾ãã
ä¾ãã®ä¾ã§ã¯ã <input type="time">
ã§ä½æããããã¤ãã£ãã®ããã«ã¼ã使ç¨ãã¦æå»ã鏿ã§ãã¾ãã
<form>
<label for="appointment-time">
äºç´æå»ãé¸ãã§ãã ãã (å¶æ¥æé 12:00ï½18:00):
</label>
<input
id="appointment-time"
type="time"
name="appointment-time"
min="12:00"
max="18:00"
required />
<span class="validity"></span>
</form>
CSS
input[type="time"] {
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;
}
çµæ æè¡çæ¦è¦ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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