Baseline Widely available
<input>
è¦ç´ ã® number
åã¯ãã¦ã¼ã¶ã¼ã«æ°å¤ãå
¥åãããããã«ä½¿ç¨ããã¾ããæ°å¤ä»¥å¤ã®å
¥åãé¤å¤ããããã®å¤æ¤è¨¼æ©è½ãå
èµãã¦ãã¾ãã
ãã©ã¦ã¶ã¼ã«ãã£ã¦ã¯ããã¦ã¹ãæå ã®ã¿ããã使ç¨ãã¦ãå¤ãã¦ã¼ã¶ã¼ãå¤ã墿¸ãããããã®ç¢å°ãæä¾ãã¦ãããã¨ãããã¾ãã
試ãã¦ã¿ã¾ããã<label for="tentacles">Number of tentacles (10-100):</label>
<input type="number" id="tentacles" name="tentacles" min="10" max="100" />
label {
display: block;
font:
1rem "Fira Sans",
sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
number
åã«å¯¾å¿ãã¦ããªããã©ã¦ã¶ã¼ã§ã¯ã number
å
¥åæ¬ã¯ text
å
¥åæ¬ã§ä»£æ¿ããã¾ãã
å
¥åæ¬ã«å
¥åãããæ°åã®å¤ãè¡¨ãæ°å¤ã§ãã value
屿§ã«æ°å¤ãè¨å®ãããã¨ã§ã次ã®ããã«å
¥åæ¬ã®æ¢å®å¤ãè¨å®ãããã¨ãã§ãã¾ãã
<input id="number" type="number" value="42" />
追å ã®å±æ§
ãã¹ã¦ã® <input>
åã§å
±éãã屿§ã«å ãã number
åã®å
¥åæ¬ã¯æ¬¡ã®å±æ§ã«ã対å¿ãã¦ãã¾ãã
list
list 屿§ã®å¤ã¯ãåãææ¸å
ã«ãã <datalist>
è¦ç´ ã® id
ã§ãã <datalist>
ã¯ããã®å
¥åæ¬ã§ã¦ã¼ã¶ã¼ã«ææ¡ããããã®äºåå®ç¾©ãããå¤ã®ãªã¹ããæä¾ãã¾ãããªã¹ãã®ä¸ã®å¤ã®ãã¡ããã® type
ã¨äºææ§ã®ãªããã®ã¯ãææ¡ããããªãã·ã§ã³ã«ã¯å«ã¾ãã¾ãããæä¾ãããå¤ã¯ææ¡ã§ãããè¦ä»¶ã§ã¯ããã¾ãããã¦ã¼ã¶ã¼ã¯ãã®å®ç¾©æ¸ã¿ãªã¹ããã鏿ãããã¨ããç°ãªãå¤ãæä¾ãããã¨ãã§ãã¾ãã
max
ãã®å
¥åæ¬ãåãä»ããæå¤§å¤ã§ããè¦ç´ ã«å
¥åããã value
ããããè¶
ããå ´åãè¦ç´ ã¯å¶ç´æ¤è¨¼ã«å¤±æãã¾ãã max
屿§ã®å¤ãæ°å¤ã§ãªãå ´åãè¦ç´ ã¯æå¤§å¤ãæã¡ã¾ããã
ãã®å¤ã¯ min
屿§ã®å¤ãã大ããããçããããªããã°ãªãã¾ããã
min
ãã®å
¥åæ¬ãåãä»ããæå°å¤ã§ããè¦ç´ ã® value
ãããããå°ããå ´åãè¦ç´ ã¯å¶ç´æ¤è¨¼ã«å¤±æãã¾ãã min
屿§ã®å¤ãæ°å¤ã§ãªãå ´åãè¦ç´ ã¯æå°å¤ãæã¡ã¾ããã
ãã®å¤ã¯ max
屿§ã®å¤ããå°ããããçããããªããã°ãªãã¾ããã
placeholder
placeholder
屿§ã¯æååã§ããã®æ¬ã«ã©ã®ãããªç¨®é¡ã®æ
å ±ãæå¾
ããã¦ãããã«ã¤ãã¦ã®ã¦ã¼ã¶ã¼ã«å¯¾ããçããã³ããæä¾ãã¾ããããã¯æå¾
ããã¦ãããã¼ã¿ã®ç¨®é¡ãç´¹ä»ããä¸èªã¾ãã¯çãå¥ã§ããã説æçãªã¡ãã»ã¼ã¸ã§ã¯ããã¾ãããããã¹ãã«ã¯æ¹è¡ãå«ãããã¨ã¯ã§ãã¾ããã
ã³ã³ããã¼ã«ã®å 容ãããæ¸åæ¹å (LTR ã¾ã㯠RTL) ã§ãããã®ã®ããã¬ã¤ã¹ãã«ãã¼ãéã®æ¹åã«è¡¨ç¤ºããå¿ è¦ãããå ´åã Unicode åæ¹åã¢ã«ã´ãªãºã æ¸å¼æåã使ç¨ãã¦ãã¬ã¤ã¹ãã«ãã¼ã®ä¸ã§æ¸åæ¹åã䏿¸ããããã¨ãã§ãã¾ãã詳ããã¯ãåæ¹åããã¹ãã§ã® Unicode ã³ã¼ãã®ä½¿ãæ¹ï¼è±èªï¼ãåç §ãã¦ãã ããã
ã¡ã¢: å¯è½ã§ããã° placeholder
ã使ç¨ãããã¨ã¯é¿ãã¦ãã ããããã©ã¼ã ã説æããä»ã®æ¹æ³ã»ã©æå³è«çã«æçã§ã¯ãªããã³ã³ãã³ãã«äºæããªãæè¡çãªåé¡ãå¼ãèµ·ããå¯è½æ§ãããã¾ãã詳ããã¯ã<input>
ã®ã©ãã«ãåç
§ãã¦ãã ããã
readonly
è«ç屿§ã§ãåå¨ããã°ãã¦ã¼ã¶ã¼ãç·¨éãããã¨ãã§ããªããã¨ã表ãã¾ãããããã value
ã¯ã JavaScript ã³ã¼ãããç´æ¥ HTMLInputElement
ã® value
ããããã£ãè¨å®ãããã¨ã§å¤æ´ãããã¨ãã§ãã¾ãã
ã¡ã¢: èªã¿åãå°ç¨ãã£ã¼ã«ãã¯å¤ãæã¦ãªãããã required
㯠readonly
屿§ãæå®ããã¦ããå
¥åæ¬ã«ã¯å¹æãããã¾ããã
step
step
屿§ã¯å¤ãå¾ããªããã°ãªããªãç²åº¦ãæå®ããæ°å¤ãã¾ãã¯å¾è¿°ããç¹æ®ãªå¤ any
ã§ããå»ã¿ã®åºæºå¤ã«çããå¤ï¼æå®ããã¦ããã° min
ãããã§ãªããã° value
ãã©ã¡ããè¨å®ããã¦ããªããã°é©åãªæ¢å®å¤ï¼ã®ã¿ã妥å½ã¨ãªãã¾ãã
æååå¤ã® any
ã¯ãå»ã¿ããªããã©ã®å¤ã§ã許å¯ããããã¨ãæå³ãã¾ãï¼min
ã max
ãªã©ãä»ã®å¶ç´ã«ã¯å¶éããã¾ãï¼ã
ã¡ã¢: ã¦ã¼ã¶ã¼ãå ¥åãããã¼ã¿ãå»ã¿ã®è¨å®ã«å¾ããªãå ´åãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ç´è¿ã®å¦¥å½ãªå¤ãåãè·é¢ã®å¤ã®é¸æè¢ã 2 ã¤ãã£ãå ´åã¯ãæ£ã®æ¹åã®æ¨å¥¨å¤ã«ä¸¸ãããã¨ãããã¾ãã
number
å
¥åæ¬ã®æ¢å®ã®å»ã¿å¤ã¯ 1
ã§ãããå»ã¿ã®åºæºå¤ãæ´æ°ã§ã¯ãªãå ´åãé¤ãã¦ãæ´æ°ã®å
¥åã®ã¿ã許å¯ãã¾ãã
number
å
¥ååã¯ã墿¸ããæ°å¤ã«ã®ã¿ãç¹ã«ã¹ãã³ãã¿ã³ã«ãã墿¸ã使ãåæã¨ãã¦æçãªå ´åã«ä½¿ç¨ãã¹ãã§ãã number
å
¥ååã¯ãå¤ãã®å½ã®éµä¾¿çªå·ãã¯ã¬ã¸ããã«ã¼ãçªå·ã®ãããªãæ°åã ãã§æ§æããã¦ããããå³å¯ã«ã¯æ°å¤ã§ã¯ãªãå¤ã«ã¯é©ãã¦ãã¾ãããæ°å¤ä»¥å¤ã®å
¥åã«ã¯ã <input type="tel">
ãä»ã® <input>
åã§ inputmode
屿§ãã¤ãããªã©ãå¥ã®å
¥ååã使ããã¨ãæ¤è¨ãã¦ã¿ã¦ãã ããã
<input type="text" inputmode="numeric" pattern="\d*" />
<input type="number">
è¦ç´ ã¯ããã©ã¼ã ã«æ°å¤ãå
¥åããã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¨ãã¸ãã¯ãæ§ç¯ããéã«ã使¥ãç°¡ç¥åããã®ã«å½¹ç«ã¡ã¾ãã type
ã®å¤ã«æ£ãã number
ãè¨å®ãã¦æ°å¤å
¥åã使ããã¨ãå
¥åãããæååãæ°å¤ãã©ãããèªåçã«æ¤è¨¼ãããããã«ãªããé常ã¯å¤ã 1 ã¤ãã¤ä¸ä¸ããããã®ä¸ä¸ãã¿ã³ã®çµã¿åããã表示ããã¾ãã
è¦å: è«ççã«ã¯ãæ°å¤å ¥åæ¬ã®ä¸ã«æ°å以å¤ãå ¥åãããã¨ã¯ã§ããªãã¯ãã§ãããã©ã¦ã¶ã¼ã«ãã£ã¦ãç¡å¹ãªæåã許å¯ãããã®ã¨ããªããã®ãããã¾ãã Firefox ãã° 1398528 ãåç §ãã¦ãã ããã
ã¡ã¢: ã¦ã¼ã¶ã¼ã HTML ããã®å ´é¢ã®è£ã§ããããã¨ãã§ããã®ã§ããµã¤ãã§å®å ¨ãç®çã¨ãã¦ãã¯ã©ã¤ã¢ã³ãå´ã®æ¤è¨¼ã使ç¨ãã¦ã¯ããã¾ãããä½ããã®ã»ãã¥ãªãã£ä¸ã®åé¡ãå«ãå¯è½æ§ãããå¤ãæä¾ããããã©ã³ã¶ã¯ã·ã§ã³ã®å ´åã¯ããããããµã¼ãã¼å´ã§æ¤è¨¼ãè¡ãå¿ è¦ãããã¾ãã
ã¢ãã¤ã«ãã©ã¦ã¶ã¼ã§ã¯ãã¦ã¼ã¶ã¼ãå¤ãå ¥åãããã¨ããæã«ãæ°å¤å ¥åã«é©ããç¹å¥ãªãã¼ãã¼ãã表示ãããã¨ã§ã使ãåæãããã«åä¸ããã¾ãã
åºæ¬çãªæ°å¤å ¥åæãåºæ¬çãªãã©ã¼ã ã§ã¯ã次ã®ããã«æ°å¤å ¥åãå®è£ ãããã¨ãã§ãã¾ãã
<label for="ticketNum">è³¼å
¥ããããã±ããæ°ãå
¥åãã¦ãã ããã</label>
<input id="ticketNum" type="number" name="ticketNum" value="0" />
æ°å¤å
¥åã¯ç©ºã®å ´åã¨åä¸ã®æ°å¤ãå
¥åãããå ´åã«å¦¥å½ã¨ã¿ãªããã¾ããããã以ä¸ã¯ç¡å¹ã¨ã¿ãªããã¾ãã required
屿§ã使ç¨ãããå ´åã¯ãå
¥åæ¬ã空ã®å ´åã«å¦¥å½ã¨ã¿ãªãããªããªãã¾ãã
ã¡ã¢: æå¹ãªæµ®åå°æ°ç¹æ°ï¼ã¤ã¾ãã NaN ã§ã Infinity ã§ããªããã®ï¼ã§ããã°ãã©ã®ãããªæ°å¤ã§ãåãå ¥ãããã¾ãã
ãã¬ã¤ã¹ãã«ãã¼ãã©ã¼ã ãã©ã®ãããªå
¥åãã¼ã¿ãåãã®ãã«ã¤ãã¦ã®è¡å
ã®ãã³ããæä¾ããã¨ãæçãªãã¨ãããã¾ããããã¯ãã¼ã¸ã®ãã¶ã¤ã³ã§ããããã® <input>
ã«èª¬æã®ã©ãã«ãä»ãããã¨ãã§ããªãå ´åã«ç¹ã«éè¦ã«ãªãã¾ããããã§ãã¬ã¤ã¹ãã«ãã¼ãç»å ´ãã¾ãããã¬ã¤ã¹ãã«ãã¼ã¯ã»ã¨ãã©ã®å ´åãå
¥åããã value
ãåãã¹ãå¤ã®å½¢å¼ã®ãã³ãã説æããããã«ä½¿ç¨ãããå¤ã§ãããã㯠value
ã ""
ã®æã«å
¥åæ¬ã®ä¸ã«è¡¨ç¤ºããã¾ããå
¥åæ¬ã«ãã¼ã¿ãå
¥åãããã¨ããã¬ã¤ã¹ãã«ãã¼ã¯é表示ã«ãªããå
¥åæ¬ã空æ¬ã«ãªãã¨ããã¬ã¤ã¹ãã«ãã¼ã¯å度表示ããã¾ãã
ããã§ã number
å
¥åæ¬ã« "10 ã®åæ°" ã¨ãããã¬ã¤ã¹ãã«ãã¼ãè¨å®ãã¾ãããªãããã¬ã¤ã¹ãã«ãã¼ãé表示ã«ãªã£ããå表示ããããããã®ã¯ãå
¥åæ¬ã®ä¸èº«ã夿´ããã¨ãã§ãã
<input type="number" placeholder="10 ã®åæ°" />
å»ã¿å¹
ã®å¶å¾¡
æ¢å®ã§ãæ°å¤ã墿¸ãããããã®å¢æ¸ãã¿ã³ã¯ã 1 å»ã¿ã§å¤ã墿¸ããã¾ãã step
屿§ãè¨å®ãããã¨ã§ãå»ã¿ã®éãæå®ããæ°å¤ã®å¤ã夿´ã§ãã¾ããä¸è¨ã®ä¾ã¯10ã®åæ°ãæå®ããã¨è¨ã£ã¦ãã¾ãã®ã§ã step
ã®å¤ã 10
ã«ãããã¨ã妥å½ã§ãããã
<input type="number" placeholder="10 ã®åæ°" step="10" />
ãã®ä¾ã§ã墿¸ãã¿ã³ãå¤ã 1 ãã¤ã§ã¯ãªã 10 ãã¤å¢æ¸ããããã¨ãåããã§ããããæåã§ 10 ã®åæ°ã§ã¯ãªãæ°å¤ãå ¥åãããã¨ãã§ãã¾ãããç¡å¹ãªå¤ã¨ã¿ãªãããã§ãããã
æå°å¤ã¨æå¤§å¤ã®æå®min
ããã³ max
屿§ã使ç¨ãã¦ãå
¥åæ¬ãä¿æã§ããæå°å¤ã¨æå¤§å¤ãæå®ãããã¨ãã§ãã¾ããä¾ãã°ãæå°å¤ã 0
ã«ãæå¤§å¤ã 100
ã«è¨å®ããä¾ããç´¹ä»ãã¾ãããã
<input type="number" placeholder="10 ã®åæ°" step="10" min="0" max="100" />
æ´æ°ãããã®çã§ã¯ã墿¸ãã¿ã³ã§ 0 æªæºã 100 ãã大ããæ°å¤ãè¨å®ãããã¨ãã§ããªããã¨ã«ãæ°ã¥ãã§ããããæåã§ãã®ç¯å²ã®å¤ã®å¤ãå ¥åãããã¨ãã§ãã¾ãããç¡å¹ãªå¤ã¨ã¿ãªãããã§ãããã
å°æ°ã使ç¨ã§ããããã«ããæ°å¤å
¥åã«é¢ãã課é¡ã®ä¸ã¤ã¯ãæ¢å®ã§ã¯ã¹ãããã®ãµã¤ãºã 1 ã§ãããã¨ã§ããå°æ°ç¹ä»¥ä¸ã®å¤ãæã¤æ°å¤ãå
¥åãããã¨ããã¨ï¼"1.1" ãªã©ï¼ãããã¯ä¸æ£ãªæ°å¤ã¨ã¿ãªããã¾ãã "1.0" ã®ãããªå¤ã¯ãæ°å¤çã«ã¯æ´æ°ã¨åçã§ãããããæå¹ã§ããã¨ã¿ãªããã¾ããå°æ°ãå«ãå¤ãå
¥åãããå ´åã¯ã step
å¤ã«ãããåæ ããå¿
è¦ãããã¾ãï¼ä¾ãã°ã step="0.01"
ã§å°æ°ç¹ä»¥ä¸ 2 æ¡ã¾ã§è¨±å¯ï¼ãåºæ¬çãªä¾ã以ä¸ã«ç¤ºãã¾ãã
<input type="number" placeholder="1.0" step="0.01" min="0" max="10" />
ãã®ä¾ã§ã¯ 0.0
ãã 10.0
ã¾ã§ã§ãå°æ°ç¬¬ 2 ä½ã¾ã§ã®å¤ã許容ããã¾ãããã®ä¾ã§ã¯ "9.52" ã¯å¦¥å½ã«ãªãã¾ããã "9.521" ã¯å¦¥å½ã§ã¯ããã¾ããã
ä»»æã®å°æ°å¤ã許å¯ãããå ´åã¯ã step
ã®å¤ã "any"
ã«è¨å®ãã¦ãã ããã
<input>
è¦ç´ ã§ type ã number
ã®å ´åã size
ã®ãããªå¯¸æ³ã決ãã屿§ã«ã¯å¯¾å¿ãã¦ãã¾ãããå
¥åæ¬ã®å¯¸æ³ã夿´ããã«ã¯ CSS ã«é ¼ãå¿
è¦ãããã¾ãã
ä¾ãã°ãå
¥åæ¬ã®å¹
ãæ°å 3 æ¡ã®å
¥åã«å¿
è¦ãªã ãã®å¹
ã«èª¿æ´ããã«ã¯ã HTML ã« id
ãè¨å®ããããããå
¥åæ¬ãçãããã¨ãã«æååã表示ã§ããªããªããªãããã«ããã¬ã¤ã¹ãã«ãã¼ãç縮ãã¾ãã
<input
type="number"
placeholder="x10"
step="10"
min="0"
max="100"
id="number" />
ãããããè¦ç´ ã® id
ã #number
ã§ããè¦ç´ ã®å¹
ãçããã¾ãã
çµæã¯ä»¥ä¸ã®ããã«è¡¨ç¤ºããã¾ãã
ãµã¸ã§ã¹ãå¤ã®æä¾list
屿§ã«ããµã¸ã§ã¹ãå¤ãããä¸ã¤ã® <option>
è¦ç´ ãå«ãã <datalist>
ã® id
ãå¤ã¨ãã¦å
¥ãããã¨ã«ãããã¦ã¼ã¶ã¼ã®é¸æãããã¨ãã§ããæ¢å®ã®é¸æè¢ã®ãªã¹ããæä¾ãããã¨ãã§ãã¾ããããããã® option
ã® value
ã¯ãæ°å¤å
¥åããã¯ã¹ã®ãµã¸ã§ã¹ãå¤ã«é¢ä¿ãã¾ãã
<input id="ticketNum" type="number" name="ticketNum" list="defaultNumbers" />
<span class="validity"></span>
<datalist id="defaultNumbers">
<option value="10045678"></option>
<option value="103421"></option>
<option value="11111111"></option>
<option value="12345678"></option>
<option value="12999922"></option>
</datalist>
æ¤è¨¼
ãã§ã« number
å
¥åæ¬ã«ãããå¹¾ã¤ãã®æ¤è¨¼æ©è½ã«ã¤ãã¦ã¯è¨åãã¾ããããããã§ç¢ºèªãã¦ã¿ã¾ãããã
<input type="number">
è¦ç´ ã¯ãæ°å¤ï¼ã¾ã㯠required
ãæå®ããã¦ããªãå ´åã¯ç©ºæ¬ï¼ã§ã¯ãªãå
¥åãèªåçã«éåã¨ãã¾ããrequired
屿§ã使ç¨ããã¨ã空æ¬ã®å
¥åãéåã¨ãã¾ãã (ã¤ã¾ããå
¥åæ¬ã¯åããå¿
è¦ãããã¾ãã)step
屿§ã使ç¨ããã¨ã妥å½ãªå¤ãç¹å®ã®å»ã¿ã®å¤ (ä¾ãã°ã10ã®åæ°) ã«å¶ç´ãããã¨ãã§ãã¾ããmin
ããã³ max
屿§ã使ç¨ããã¨ã妥å½ãªå¤ã®ä¸éã¨ä¸éãè¨ãããã¨ãã§ãã¾ããæ¬¡ã®ä¾ã¯ä¸è¨ã®æ©è½ã®ãã¹ã¦ãä¾ç¤ºãã¦ãããã¾ãå¹¾ãã CSS ãç¨ãã¦ã input
ã®å¤ã«ãã£ã¦ã妥å½ã¾ãã¯éåã®ã¢ã¤ã³ã³ã表示ããããã«ãã¾ãã
<form>
<div>
<label for="balloons">風è¹ã®æ³¨ææ° (10ã®åæ°):</label>
<input
id="balloons"
type="number"
name="balloons"
step="10"
min="0"
max="100"
required />
<span class="validity"></span>
</div>
<div>
<input type="submit" />
</div>
</form>
æ§ã ãªéåããå¤ãå ¥åãã¦ããã©ã¼ã ãéä¿¡ãããã¨ãã¦ã¿ã¦ãã ãããä¾ãã°ãå¤ãªãã 0 æªæºã¾ã㯠100 ãè¶ ããå¤ã 10 ã®åæ°ã§ã¯ãªãå¤ãæ°å¤ã§ãªãå¤ãªã©ã§ããããã¦ãããããã«ããã¦ãã©ã¦ã¶ã¼ãã©ã®ãããªã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãããã確èªãã¦ãã ããã
ãã®ä¾ã§é©ç¨ããã CSS ã¯ä»¥ä¸ã®éãã§ãã
div {
margin-bottom: 10px;
}
input:invalid + span::after {
content: "â";
padding-left: 5px;
}
input:valid + span::after {
content: "â";
padding-left: 5px;
}
ããã§ã :invalid
ããã³ :valid
æ¬ä¼¼ã¯ã©ã¹ãç¨ãã¦ãé£ã® <span>
è¦ç´ ã®çæã³ã³ãã³ãã¨ãã¦ç¡å¹ã¾ãã¯å¦¥å½ã®é©åãªã¢ã¤ã³ã³ã表示ãã妥彿§ã®è¦è¦çãªã¤ã³ã¸ã±ã¼ã¿ã¼ã«ãããã¨ãã§ãã¾ãã
å¥ãª <span>
è¦ç´ ã«å
¥ããã®ã¯èªç±åº¦ãé«ããããã§ãããã©ã¦ã¶ã¼ã«ãã£ã¦ã¯ä¸é¨ã®ç¨®é¡ã®ãã©ã¼ã å
¥åæ¬ã«ããã¦ããã¾ã广çã«çæã³ã³ãã³ãã表示ã§ããªããã¨ãããã¾ãï¼<input type="date">
ã®æ¤è¨¼ã®ç¯ã®ä¾ãèªãã§ãã ããï¼ã
è¦å: HTML ã®ãã©ã¼ã æ¤è¨¼ã¯ãå ¥åããããã¼ã¿ãæ£ããå½¢å¼ã§ãããã¨ãä¿è¨¼ãããµã¼ãã¼ã¹ã¯ãªããã®ä»£ç¨ã«ã¯ãªãã¾ããã
誰ãã HTML ã調æ´ãã¦æ¤è¨¼ããããæããããå®å ¨ã«åé¤ããããããã¨ã¯ã¨ã¦ãç°¡åã«ã§ãã¾ãã HTML ããã¤ãã¹ãããµã¼ãã¼ã«ç´æ¥ãã¼ã¿ãéä¿¡ãããã¨ãå¯è½ã§ãã
ãµã¼ãã¼å´ã®ã³ã¼ããåä¿¡ãããã¼ã¿ã®æ¤è¨¼ã«å¤±æããå ´åãä¸é©åãªå½¢å¼ã®ãã¼ã¿ï¼ã¾ãã¯å¤§ãããããã¼ã¿ãééã£ã種é¡ã®ãã¼ã¿ãªã©ï¼ããã¼ã¿ãã¼ã¹ã«å ¥åãããå ´åã«ç½å®³ãçºçããããããããã¾ãã
ãã¿ã¼ã³ã«ãã夿¤è¨¼<input type="number">
è¦ç´ 㯠pattern
屿§ã使ç¨ãã¦ãå
¥åãããå¤ãç¹å®ã®æ£è¦è¡¨ç¾ãã¿ ã¼ ã³ãæºããããã«ãããã¨ã«å¯¾å¿ãã¦ãã¾ããã
ããã¯ã number å
¥åæ¬ã¯æ°å¤ä»¥å¤ã®ä½ãå
¥åããã¦ã妥å½ã«ã¯ãªããªãããã§ãããä¸è¨ã§èª¬æããã¨ããã min
ããã³ max
屿§ãç¨ãã¦å¦¥å½ãªæ°å¤ã®æå¤§å¤ããã³æå°å¤ãå¶ç´ãããã¨ãã§ãã¾ãã
<input type="number">
è¦ç´ ã®æé»ã®ãã¼ã«ã¯ spinbutton
ã§ããããã¹ãã³ãã¿ã³ããã©ã¼ã ã³ã³ããã¼ã«ã«ã¨ã£ã¦éè¦ãªæ©è½ã§ãªããªãã type="number"
ã使ç¨ããªãããèãã¦ãã ããã代ããã« inputmode="numeric"
ã使ç¨ãã pattern
屿§ã§æååãæ°åã¨ããã«ä»éããæåã«éå®ãã¦ãã ããã <input type="number">
ã§ã¯ãã¦ã¼ã¶ã¼ãä½ãä»ã®ãã¨ããããã¨ãã¦ããã¨ãã«ã誤ã£ã¦æ°å¤ãå¢å ãã¦ãã¾ãå±éºæ§ãããã¾ããããã«ãã¦ã¼ã¶ã¼ãæ°åã§ãªããã®ãå
¥åãããã¨ããå ´åãä½ãééã£ã¦ããã®ãæç¤ºçãªãã£ã¼ãããã¯ãããã¾ããã
ã¾ãã autocomplete
屿§ã使ç¨ãã¦ãã¦ã¼ã¶ã¼ããããã°ãããã¨ã©ã¼ã®å¯è½æ§ãä½ããã¦ãã©ã¼ã ãè¨å
¥ã§ããããã«ãããã¨ãæ¤è¨ãã¦ãã ãããä¾ãã°ãéµä¾¿çªå·ã®ãã£ã¼ã«ãã§èªåè£å®ãæå¹ã«ããã«ã¯ã autocomplete="postal-code"
ã¨è¨å®ãã¦ãã ããã
ãã§ã«æ¢å®ã§ã¯å¢åã 1
ã§ããã¨ããäºå®ãæ±ãã¾ããã®ã§ã step
屿§ã使ç¨ãã¦å®æ°ãå
¥åã§ããããã«ãããã¨ãã§ãã¾ããããå°ã詳ããè¦ã¦ã¿ã¾ãããã
以ä¸ã®ä¾ã¯ãã¦ã¼ã¶ã¼ã®èº«é·ãå ¥åãããã©ã¼ã ã§ããæ¢å®ã§ã¯æ éãã¡ã¼ãã«åä½ã§åãä»ãã¾ãããé¢é£ãããã¿ã³ãã¯ãªãã¯ãããã¨ã§ãã©ã¼ã ããã£ã¼ãã¨ã¤ã³ããåãä»ããããã«å¤æ´ãããã¨ãã§ãã¾ããã¡ã¼ãã«åä½ã®èº«é·ã®å ¥åæ¬ã¯å°æ°ç¬¬ 2 ä½ã¾ã§åãä»ãã¾ãã
HTML ã¯æ¬¡ã®ããã«ãªãã¾ãã
<form>
<div class="metersInputGroup">
<label for="meters">ããªãã®èº«é·ãå
¥åãã¦ãã ãã (ã¡ã¼ãã«):</label>
<input
id="meters"
type="number"
name="meters"
step="0.01"
min="0"
placeholder="e.g. 1.78"
required />
<span class="validity"></span>
</div>
<div class="feetInputGroup" style="display: none;">
<span>ããªãã®èº«é·ãå
¥åãã¦ãã ãã â </span>
<label for="feet">ãã£ã¼ã:</label>
<input id="feet" type="number" name="feet" min="0" step="1" />
<span class="validity"></span>
<label for="inches">ã¤ã³ã:</label>
<input id="inches" type="number" name="inches" min="0" max="11" step="1" />
<span class="validity"></span>
</div>
<div>
<input type="button" class="meters" value="身é·ããã£ã¼ãã¨ã¤ã³ãã§å
¥å" />
</div>
<div>
<input type="submit" value="ãã©ã¼ã ãéä¿¡" />
</div>
</form>
ããã¾ã§ã®è¨äºã§ãã§ã«è¦ã¦ãã屿§ã®å¤ãã使ç¨ãã¦ãããã¨ããããã¾ããã»ã³ãã¡ã¼ãã«åä½ã®ã¡ã¼ãã«å¤ãåãå
¥ããããã step
ã®å¤ã 0.01
ã«è¨å®ãã¦ã 1.78 ã®ãããªå¤ãç¡å¹ã¨ãããªãããã«ãã¾ãããã¾ãããã®å
¥åæ¬ã®ãã¬ã¤ã¹ãã«ãã¼ãæä¾ãã¾ããã
æåã¯ãã£ã¼ãã¨ã¤ã³ãã®å
¥åæ¬ã style="display: none;"
ã使ç¨ãã¦é表示ã«ãã¦ãããããæ¢å®ã¯ã¡ã¼ãã«ã§ã®å
¥åã§ãã
次ã«ã CSS ã«é²ã¿ã¾ããããã¯ã以åã«è¦ãæ¤è¨¼ã®ã¹ã¿ã¤ã«ä»ãã¨ã¨ã¦ãè¯ãä¼¼ã¦ãã¾ããããã§æ³¨ç®ããã¨ããã¯ããã¾ããã
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 ã§ãã
const metersInputGroup = document.querySelector(".metersInputGroup");
const feetInputGroup = document.querySelector(".feetInputGroup");
const metersInput = document.querySelector("#meters");
const feetInput = document.querySelector("#feet");
const inchesInput = document.querySelector("#inches");
const switchBtn = document.querySelector('input[type="button"]');
switchBtn.addEventListener("click", () => {
if (switchBtn.getAttribute("class") === "meters") {
switchBtn.setAttribute("class", "feet");
switchBtn.value = "身é·ãã¡ã¼ãã«ã§å
¥å";
metersInputGroup.style.display = "none";
feetInputGroup.style.display = "block";
feetInput.setAttribute("required", "");
inchesInput.setAttribute("required", "");
metersInput.removeAttribute("required");
metersInput.value = "";
} else {
switchBtn.setAttribute("class", "meters");
switchBtn.value = "身é·ããã£ã¼ãã¨ã¤ã³ãã§å
¥å";
metersInputGroup.style.display = "block";
feetInputGroup.style.display = "none";
feetInput.removeAttribute("required");
inchesInput.removeAttribute("required");
metersInput.setAttribute("required", "");
feetInput.value = "";
inchesInput.value = "";
}
});
ããã¤ãã®å¤æ°ã宣è¨ããå¾ãã¤ãã³ããªã¹ãã¼ã button
ã«è¿½å ããåãæ¿ãã®ä»çµã¿ãå¶å¾¡ãã¦ãã¾ããããã¯ãã»ã¨ãã©ããã¿ã³ã® class
㨠<label>
ã夿´ããããã®ãã®ã§ãããããã¦ãã¿ã³ãæ¼ãããã¨ãã« 2 çµã®å
¥åã® display å¤ãæ´æ°ãã¦ãã¾ãã
ï¼ãªããããã§ã¯ã¡ã¼ãã«ã¨ãã£ã¼ã/ã¤ã³ãã®éã®å¤æã¯è¡ã£ã¦ãã¾ããããå®éã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã§ã¯ããããè¡ãã§ããããï¼
ã¡ã¢: ã¦ã¼ã¶ã¼ããã¿ã³ãã¯ãªãã¯ããã¨ãã required
屿§ãé表示ã«ããå
¥åæ¬ããåé¤ãã value
屿§ã空ã«ãã¦ãã¾ããããã¯å
¥åæ¬ã®ä¸¡æ¹ã®çµãå
¥åããã¦ããªãã¦ããã©ã¼ã ãéä¿¡ãããã¨ãã§ããããã«ãã¦ãã¾ããããã¯ã¦ã¼ã¶ã¼ãæå³ãã¦ããªããã¼ã¿ããã©ã¼ã ãéä¿¡ããªããã¨ãä¿è¨¼ãããã®ã§ãããã¾ãã
ãããè¡ããªãã¨ããã£ã¼ã/ã¤ã³ãã¨ã¡ã¼ãã«ã®ä¸¡æ¹ãå ¥åãã¦ãã©ã¼ã ãéä¿¡ãããã¨ãã§ãã¦ãã¾ãã¾ãã
æè¡çæ¦è¦ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±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