Baseline Widely available
text
ç±»åç <input>
å
ç´ å建äºåºç¡çåè¡ææ¬å段ã
<label for="name">Name (4 to 8 characters):</label>
<input
type="text"
id="name"
name="name"
required
minlength="4"
maxlength="8"
size="10" />
label {
display: block;
font:
1rem "Fira Sans",
sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
å¼
value
屿§æ¯ä¸ä¸ªå
å«äºææ¬åå½åæåçå符串ãä½ å¯ä»¥å¨ Javascript ä¸ä½¿ç¨ HTMLInputElement
ç value
屿§è·åè¿äºæåã
let theText = myTextInput.value;
妿å½åææ¬è¾å
¥æ²¡æçº¦æéªè¯ï¼æ¥çéªè¯å°èè·åæ´å¤è¯¦ç»ä¿¡æ¯ï¼ï¼value
å¼å¯è½æ¯ç©ºå符串ï¼""
ï¼ã
é¤äºææ <input>
å
ç´ ä¸å
±æç坿ä½ç屿§å¤ï¼ææ¬è¾å
¥æ¡è¿æ¯æä»¥ä¸å±æ§ï¼
list
åè¡¨å±æ§ç弿¯ä½äºåä¸ææ¡£ä¸ç <datalist>
å
ç´ ç id
ã<datalist>
æä¾äºä¸ä¸ªé¢å®ä¹çå¼å表ï¼åç¨æ·å»ºè®®è¿ä¸ªè¾å
¥ãå表ä¸ä»»ä½ä¸ type
ä¸å
¼å®¹çå¼é½ä¸å
æ¬å¨å»ºè®®é项ä¸ãææä¾ç弿¯å»ºè®®ï¼ä¸æ¯è¦æ±ï¼ç¨æ·å¯ä»¥ä»è¿ä¸ªé¢å®ä¹çå表ä¸éæ©ï¼æè
æä¾ä¸åçå¼ã
maxlength
ç¨æ·å¯ä»¥è¾å
¥å° text
è¾å
¥æ¡ä¸çæå¤§å符æ°ï¼ä»¥ UTF-16 ç ç¹ä¸ºåä½ï¼ãå¿
须为大äºçäº 0 çæ´æ°ãå¦ææªæå® maxlength
ææå®äºæ æçå¼ï¼å text
è¾å
¥æ¡å°æ²¡ææå¤§å¼ãè¿ä¸ªå¼ä¹å¿
须大äºçäº minlength
çå¼ã
å¦æææ¬æ¡ä¸çå符æ°å¤§äº maxlength
UTF-16 ç¼ç åå
é¿åº¦ï¼åè¾å
¥å°æ æ³éè¿çº¦æéªè¯ã约æéªè¯ä»
ä½ç¨äºç¨æ·ä¿®æ¹è¾å
¥å¼çæ¶åã
minlength
ç¨æ·å¯ä»¥è¾å
¥å° text
è¾å
¥æ¡ä¸çæå°å符æ°ï¼ä»¥ UTF-16 ç ç¹ä¸ºåä½ï¼ã该å¼å¿
é¡»æ¯å°äºçäº maxlength
æå®çå¼çéè´æ´æ°å¼ãå¦ææªæå® minlength
ææå®äºæ æçå¼ï¼å text
è¾å
¥å°æ²¡ææå°å¼ã
妿è¾å
¥å°å段ä¸çææ¬çé¿åº¦å°äº minlength
UTF-16 代ç åå
çé¿åº¦ï¼åè¾å
¥å°æ æ³éè¿çº¦æéªè¯ã约æéªè¯ä»
ä½ç¨äºç¨æ·ä¿®æ¹è¾å
¥å¼çæ¶åã
pattern
妿æå®äº pattern
屿§ï¼ä¸ºäºä½¿ value
éè¿çº¦æéªè¯ï¼å¿
é¡»æ»¡è¶³è¯¥å±æ§ç»å®çæ£å表达å¼ãå®å¿
é¡»æ¯ RegExp
ç±»åçææ JavaScript æ£å表达å¼ï¼å¹¶ä¸å·²å¨æä»¬çæ£åè¡¨è¾¾å¼æåä¸è¿è¡äºè¯´æï¼å¨ç¼è¯æ£åè¡¨è¾¾å¼æ¶æå®äº 'u'
æ å¿ï¼å æ¤è¯¥æ¨¡å¼è¢«è§ä¸º Unicode 代ç ç¹çåºåï¼è䏿¯ ASCIIãæ¨¡å¼ææ¬å¨å´æ éæå®æ£ææ ã
å¦ææ¨¡å¼æªæå®ææ æï¼åä¸åºç¨ä»»ä½æ£å表达å¼ï¼å¹¶ä¸å°å®å ¨å¿½ç¥æ¤å±æ§ã
夿³¨ï¼ ä½¿ç¨ title
屿§æå®å¤§å¤æ°æµè§å¨å°æ¾ç¤ºä¸ºææ¬çå·¥å
·æç¤ºï¼ä»¥è¯´æä¸æ¨¡å¼å¹é
çè¦æ±ãä½ è¿åºè¯¥å¨éè¿æ·»å å
¶ä»è¯´ææ§æåã
请åç §æå®æ¨¡å¼æ´å¤å 容åä¾åã
placeholder
placeholder
屿§æ¯ä¸ä¸ªå符串ï¼å¯åç¨æ·æä¾æå
³è¯¥å段ä¸éè¦ä»ä¹æ ·çä¿¡æ¯çç®çæç¤ºãå®åºè¯¥æ¯ä¸ä¸ªåè¯æçè¯æ¥è¯´æé¢æçæ°æ®ç±»åï¼è䏿¯è¯´ææ§æ¶æ¯ãææ¬ä¸ä¸å¾å
å«åè½¦ç¬¦ææ¢è¡ç¬¦ã
妿æ§ä»¶çå å®¹å ·ææ¹åï¼LTR æ RTLï¼ï¼ä½éè¦ä»¥ç¸åçæ¹åæ¾ç¤ºå ä½ç¬¦ï¼åå¯ä»¥ä½¿ç¨ Unicode ååç®æ³æ¥æ ¼å¼åå符ï¼ä»èè¦çåæå ä½ç¬¦çæ¹åï¼è¯·åè§å¦ä½é对ååææ¬ä½¿ç¨ Unicode æ§å¶ç¬¦è·åæ´å¤ä¿¡æ¯ã
夿³¨ï¼ å°½å¯è½é¿å
ä½¿ç¨ placeholder
屿§ãå®å¨è¯ä¹ä¸æ²¡æå
¶ä»è§£é表åçæ¹å¼æç¨ï¼å¹¶ä¸å¯è½å¯¼è´å
容åºç°æå¤çé®é¢ã请åè§ <input>
æ ç¾ä»¥è·åæ´å¤ä¿¡æ¯ã
readonly
ä¸ä¸ªå¸å°å±æ§ï¼å¦æåå¨ï¼åè¡¨ç¤ºè¯¥åæ®µä¸è½ç±ç¨æ·ç¼è¾ã使¯ï¼ä»å¯ä»¥éè¿ JavaScript 代ç ç´æ¥è®¾ç½® HTMLInputElement
ç value
屿§æ¥æ´æ¹ã
夿³¨ï¼ å 为åªè¯»å段ä¸è½æå¼ï¼æä»¥ required
对æå®äº readonly
屿§çè¾å
¥æ²¡æä»»ä½å½±åã
size
size
屿§æ¯ä¸ä¸ªæ°åå¼ï¼æç¤ºè¾å
¥åæ®µåºæå¤å°ä¸ªå符宽ã该å¼å¿
é¡»æ¯ä¸ä¸ªå¤§äºé¶çæ°åï¼é»è®¤å¼æ¯ 20ãç±äºå符宽度åä¸ç¸åï¼è¿å¯è½æ¯ä¹å¯è½ä¸æ¯ç²¾ç¡®çï¼ä¸åºä¾èµäºæ¤ï¼ç»æè¾å
¥å¯è½æ¯æå®çåç¬¦æ°æ´çªææ´å®½ï¼è¿åå³äºå符ååä½ï¼font
使ç¨ä¸ç设置ï¼ã
è¿å¹¶ä¸éå¶ç¨æ·å¯ä»¥å¨è¯¥å段ä¸è¾å
¥å¤å°ä¸ªå符ï¼ä»
è½æå®ä¸æ¬¡å¯ä»¥çå°å¤å°ä¸ªãè¦è®¾ç½®è¾å
¥æ°æ®é¿åº¦çä¸éï¼è¯·ä½¿ç¨ maxlength
屿§ã
spellcheck
spellcheck
æ¯ä¸ä¸ªå
¨å±å±æ§ï¼ç¨äºæç¤ºæ¯å¦å¯ç¨å
ç´ çæ¼åæ£æ¥ãå®å¯ä»¥ç¨äºä»»ä½å¯ç¼è¾çå
容ï¼ä½æ¯è¿éæä»¬èèå¨ <input>
å
ç´ ä¸ä½¿ç¨ spellcheck
çç»èã spellcheck
çå
许å¼ä¸ºï¼
false
ç¦ç¨æ¤å ç´ çæ¼åæ£æ¥ã
true
对æ¤å ç´ å¯ç¨æ¼åæ£æ¥ã
""
ï¼ç©ºåç¬¦ä¸²ï¼æç©ºå¼
éµå¾ªå
ç´ çé»è®¤è¡ä¸ºè¿è¡æ¼åæ£æ¥ãè¿å¯è½åºäºç¶å
ç´ spellcheck
设置æå
¶ä»å ç´ ã
妿è¾å ¥å段没æè®¾ç½® readonly 屿§ä¸æªç¦ç¨ï¼åå¯ä»¥å¯ç¨æ¼åæ£æ¥ã
å¦æç¨æ·ä»£ççé¦é项è¦çäºè®¾ç½®ï¼åéè¿è¯»å spellcheck
è¿åçå¼å¯è½æ æ³åæ æ§ä»¶ä¸æ¼åæ£æ¥çå®é
ç¶æã
以ä¸éæ å屿§å¨æäºæµè§å¨ä¸ä¹å¯ç¨ãä¸è¬æ¥è¯´ï¼é¤éä¸ä¸å¾å·²ï¼å¦åä½ åºè¯¥é¿å 使ç¨å®ä»¬ã
autocorrect
Safari æ©å±ï¼autocorrect
屿§æ¯ä¸ä¸ªå符串ï¼å®æç¤ºå¨ç¨æ·ç¼è¾æ¤åæ®µæ¶æ¯å¦æ¿æ´»èªå¨æ´æ£ãå
许çå¼ä¸ºï¼
on
å¯ç¨æ¼åé误çèªå¨æ´æ£ï¼ä»¥åé ç½®ææ¬æ¿æ¢ï¼å¦æå·²é ç½®ï¼çå¤çã
off
ç¦ç¨èªå¨æ´æ£åææ¬æ¿æ¢ã
mozactionhint
Mozilla æ©å±ï¼å®æä¾äºä¸ä¸ªæç¤ºï¼æç¤ºç¨æ·å¨ç¼è¾åæ®µæ¶æ Enter æ Return é®å°éåä½ç§æä½ã
æ¤å±æ§å·²ç»åºå¼ï¼è¯·ä½¿ç¨å
¨å±å±æ§ enterkeyhint
ä½ä¸ºæ¿ä»£ã
<input>
å
ç´ ç text
ç±»ååå»ºåºæ¬çåè¡è¾å
¥ãä½ åºè¯¥å¨å¸æç¨æ·è¾å
¥åè¡å¼çä»»ä½å°æ¹ä½¿ç¨å®ä»¬ï¼å¹¶ä¸æ²¡ææ´å
·ä½çè¾å
¥ç±»åå¯ç¨äºæ¶é该å¼ï¼ä¾å¦ï¼å¦ææ¯æ¥æææ¶é´ãURLãçµåé®ä»¶ææ¥æ¾è¯æ±ï¼ä½ å°æ¥ææ´å¥½çéæ©ï¼ã
<form>
<div>
<label for="uname">è¾å
¥ä¸ä¸ªç¨æ·åï¼</label>
<input type="text" id="uname" name="name" />
</div>
<div>
<button>æäº¤</button>
</div>
</form>
å¦ä¸æç¤ºï¼
æäº¤åï¼åéå°æå¡å¨çé®/å¼å¯¹çæ°æ®å°ä¸º name=Chris
ï¼å¦æå¨æäº¤ä¹åè¾å
¥äºâChrisâä½ä¸ºè¾å
¥å¼ï¼ãä½ å¿
须记ä½å¨ <input>
å
ç´ ä¸å
å« name
屿§ï¼å¦åææ¬åæ®µçå¼å°ä¸å
å«å¨æäº¤çæ°æ®ä¸ã
ä½ å¯ä»¥éè¿ä½¿ç¨ placeholder
屿§å¨ææ¬è¾å
¥ä¸æä¾ä¸ä¸ªæç¨çå ä½ç¬¦ï¼æç¤ºç¨æ·è¯¥è¾å
¥ä»ä¹ãçä¸é¢çä¾åï¼
<form>
<div>
<label for="uname">è¾å
¥ä¸ä¸ªç¨æ·åï¼</label>
<input type="text" id="uname" name="name" placeholder="ä¸ä¸ªå°ååè¯" />
</div>
<div>
<button>æäº¤</button>
</div>
</form>
ä½ å¯ä»¥å¨ä¸é¢çå°å ä½ç¬¦çåç°æ¹å¼ï¼
å ä½ç¬¦é常以æ¯å
ç´ çåæ¯è²æ´æµ
çé¢è²åç°ï¼å¹¶ä¸å¨ç¨æ·å¼å§ååæ®µä¸è¾å
¥ææ¬æ¶ï¼æè
æ¯å½å段éè¿ç¼ç¨æ¹å¼è®¾ç½®å
¶ value
屿§æ¶ï¼å°±ä¼èªå¨æ¶å¤±ã
å¯ä»¥ä½¿ç¨ size
屿§æ¥æ§å¶è¾å
¥æ¡ç尺寸ã使ç¨å®ï¼å¯ä»¥æå®ææ¬è¾å
¥ä¸æ¬¡å¯ä»¥æ¾ç¤ºçå符æ°ãè¿ä¼å½±åå
ç´ ç宽度ï¼ä½¿ä½ å¯ä»¥æå符è䏿¯åç´ æå®å®½åº¦ãä¾å¦ï¼å¨æ¤ç¤ºä¾ä¸ï¼è¾å
¥ä¸º 30 个å符宽ï¼
<form>
<div>
<label for="uname">è¾å
¥ä¸ä¸ªç¨æ·åï¼</label>
<input
type="text"
id="uname"
name="name"
placeholder="ä¸ä¸ªå°ååè¯"
size="30" />
</div>
<div>
<button>æäº¤</button>
</div>
</form>
éªè¯
text
ç±»åç <input>
å
ç´ é»è®¤æ²¡æåºç¨èªå¨éªè¯ï¼å ä¸ºåºæ¬ææ¬è¾å
¥éè¦è½å¤æ¥åä»»æå符串ï¼ï¼ä½æ¯æä¸äºå®¢æ·ç«¯éªè¯é项å¯ç¨ï¼æä»¬å°å¨ä¸é¢è®¨è®ºã
夿³¨ï¼ HTML 表åéªè¯ä¸è½æ¿ä»£æå¡å¨èæ¬ï¼ä»¥ç¡®ä¿è¾å ¥çæ°æ®æ ¼å¼æ£ç¡®ãå¯¹äºæäººæ¥è¯´ï¼å¯¹ HTML è¿è¡è°æ´ä»¥ä½¿å ¶ç»è¿éªè¯æå®å ¨å é¤éªè¯å¤ªå®¹æäºãæäººä¹å¯ä»¥å®å ¨ç»å¼ä½ ç HTML å¹¶å°æ°æ®ç´æ¥æäº¤å°ä½ çæå¡å¨ã妿æå¡å¨ç«¯ä»£ç æ æ³éªè¯æ¥æ¶å°çæ°æ®ï¼åå½å°æ ¼å¼ä¸æ£ç¡®çæ°æ®ï¼æå¤ªå¤§ï¼ç±»åéè¯¯çæ°æ®ççï¼è¾å ¥æ°æ®åºæ¶ï¼ç¾é¾å¯è½ä¼åçã
æ ·å¼æ³¨æäºé¡¹æä¸äºæç¨ç伪类å¯ç¨äºè®¾ç½®è¡¨åå
ç´ çæ ·å¼ï¼ä»¥å¸®å©ç¨æ·æ¥çå
¶å¼æ¯ææè¿æ¯æ æï¼å®ä»¬æ¯ :valid
å :invalid
ã卿¬èä¸ï¼æä»¬å°ä½¿ç¨ä»¥ä¸ CSSï¼å®å°å¨å
嫿æå¼çè¾å
¥æè¾¹æ¾ç½®ä¸ä¸ªå¤éæ è®°ï¼tickï¼ï¼å¹¶å¨å
嫿 æå¼çè¾å
¥æè¾¹æ¾ç½®ä¸ä¸ªåå·ï¼Xï¼ã
div {
margin-bottom: 10px;
position: relative;
}
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;
}
è¯¥ææ¯è¿éè¦å° <span>
å
ç´ æ¾ç½®å¨ form
å
ç´ ä¹åï¼è¯¥ form
å
ç´ å
å½å¾æ çææè
ãè¿æ ·åçåå æ¯æäºæµè§å¨ä¸çæäºè¾å
¥ç±»åä¸è½å¾å¥½å°æ¾ç¤ºç´æ¥ä½äºå
¶åç徿 ã
ä½ å¯ä»¥ä½¿ç¨ required
屿§ç®åå°ä»¤è¯¥è¾å
¥æ¡å¨è¡¨åæäº¤åå¿
须填å
¥å¼ï¼
<form>
<div>
<label for="uname">è¾å
¥ä¸ä¸ªç¨æ·åï¼</label>
<input type="text" id="uname" name="name" required />
<span class="validity"></span>
</div>
<div>
<button>æäº¤</button>
</div>
</form>
div {
margin-bottom: 10px;
position: relative;
}
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;
}
è¯¥ç¤ºä¾æ¸²æå¦ä¸æç¤ºï¼
妿å°è¯å¨æªè¾å ¥æç´¢è¯çæ åµä¸æäº¤è¡¨åï¼æµè§å¨å°æ¾ç¤ºä¸æ¡éè¯¯æ¶æ¯ã
è¾å ¥å¼é¿åº¦ä½ å¯ä»¥ä½¿ç¨ minlength
屿§æå®è¾å
¥å¼çæå°é¿åº¦ï¼ä»¥å符为åä½ï¼ï¼åæ ·ï¼ä¹å¯ä»¥ä½¿ç¨ maxlength
设置è¾å
¥å¼çæå¤§é¿åº¦ï¼ä»¥å符为åä½ï¼ã
ä¸é¢ç示ä¾è¦æ±è¾å ¥çå¼çé¿åº¦ä¸º 4â8 个å符ã
<form>
<div>
<label for="uname">è¾å
¥ä¸ä¸ªç¨æ·åï¼</label>
<input
type="text"
id="uname"
name="name"
required
size="10"
placeholder="ç¨æ·å"
minlength="4"
maxlength="8" />
<span class="validity"></span>
</div>
<div>
<button>æäº¤</button>
</div>
</form>
div {
margin-bottom: 10px;
position: relative;
}
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;
}
å¦ä¸æç¤ºï¼
妿å°è¯æäº¤å°äº 4 个å符ç表åï¼å伿¶å°ä¸æ¡ç¸åºçéè¯¯æ¶æ¯ï¼ä¸åçæµè§å¨ä¼ææä¸åï¼ã妿å°è¯è¾å ¥ 8 个以ä¸çåç¬¦ï¼æµè§å¨å°ä¸å 许è¾å ¥ã
夿³¨ï¼ å¦æä½ æå®äº minlength
使ªæå® required
ï¼åè¾å
¥è¢«è§ä¸ºææï¼å 为ä¸éè¦ç¨æ·æå®å¼ã
å¯ä»¥ä½¿ç¨ pattern
屿§æå®è¾å
¥å¼å¿
é¡»å¹é
æè½è¢«è®¤ä¸ºæ¯ææçæ£å表达å¼ï¼è¯·åç
§ä½¿ç¨æ£åè¡¨è¾¾å¼æ ¡éªï¼ã
ä¸é¢ç示ä¾å°å¼éå¶ä¸º 4-8 个å符ï¼å¹¶è¦æ±è¯¥å¼ä» å å«å°å忝ã
<form>
<div>
<label for="uname">è¾å
¥ä¸ä¸ªç¨æ·åï¼</label>
<input
type="text"
id="uname"
name="name"
required
size="45"
pattern="[a-z]{4,8}" />
<span class="validity"></span>
<p>ç¨æ·åå¿
须为 4-8 ä½é¿ï¼ä¸ä»
å
å«å°å忝ã</p>
</div>
<div>
<button>æäº¤</button>
</div>
</form>
div {
margin-bottom: 10px;
position: relative;
}
p {
font-size: 80%;
color: #999;
}
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 表åæç« ä¸çå°ä¸äºå¥½ç示ä¾ã
è§è æµè§å¨å ¼å®¹æ§ åé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