Baseline Widely available
공문ììì ë³¼ ë²í checkbox
ì íì <input>
ììë 기본ì ì¼ë¡ íì±íë ìì ì²´í¬ëë ë°ì¤ë¡ ë ëë§ ë©ëë¤. ë°ì¤ì ì íí ì¸íì ë¸ë¼ì°ì ê° ì¤í ì¤ì¸ ì´ìì²´ì ì ìì¤í
구ì±ì ë°ë¼ ë¬ë¼ì§ ì ììµëë¤. ì¼ë°ì ì¼ë¡ë ì¬ê°íì 모ìµì´ì§ë§, ë¥ê·¼ 모ì리를 ê°ì§ ìë ììµëë¤. checkbox
ë í¼ ììì ì íë ë¨ì¼ ê°ë¤ì ì ì¶í ì ìë 기ë¥ì ì ê³µí©ëë¤.
<fieldset>
<legend>Choose your monster's features:</legend>
<div>
<input type="checkbox" id="scales" name="scales" checked />
<label for="scales">Scales</label>
</div>
<div>
<input type="checkbox" id="horns" name="horns" />
<label for="horns">Horns</label>
</div>
</fieldset>
p,
label {
font:
1rem "Fira Sans",
sans-serif;
}
input {
margin: 0.4rem;
}
Valueì°¸ê³ : ë¼ëì¤ ë²í¼ ì ì²´í¬ë°ì¤ì ë¹ì·íì§ë§ ì¤ìí ì°¨ì´ì ì´ íë ììµëë¤. ì¬ë¬ ë¼ëì¤ ë²í¼ì íëì ì§í©ì¼ë¡ 그룹íëì´ ê·¸ ììì ë¨ íëë§ ì íë ì ìì§ë§, ì²´í¬ë°ì¤ì ê²½ì°ë ê°ê°ì ê°ì ì¼ê³ ë ì ìë¤ë ì ì ëë¤. ë¤ìì 컨í¸ë¡¤ì´ ì¡´ì¬í ë ë¼ëì¤ ë²í¼ì ì ì²´ìì íëì ììì ëí ì íë§ì íì©íê³ , ì²´í¬ë°ì¤ë ì¬ë¬ ê°ì ììê° ì íëë ê²ì íì©í©ëë¤.
ì²´í¬ë°ì¤ì ê°ì ëíë´ë íëì 문ìì´ì
ëë¤. í´ë¼ì´ì¸í¸ 쪽ìì ì´ ê°ì ë³´ì´ì§ ìì§ë§, ìë² ìª½ìì ì´ ê°ì ì²´í¬ë°ì¤ì name
ê³¼ í¨ê» ì ë¬ëë ë°ì´í°ì ë¶ì¬ëë ê°ì
ëë¤. ìëì ìì 를 ì´í´ë³´ê² ìµëë¤.
<form>
<div>
<input
type="checkbox"
id="subscribeNews"
name="subscribe"
value="newsletter" />
<label for="subscribeNews">ë´ì¤ë í°ë¥¼ 구ë
íìê² ìµëê¹?</label>
</div>
<div>
<button type="submit">구ë
í기</button>
</div>
</form>
ì´ ìì ììë name
í¹ì±ì subscribe
ë¡, value
í¹ì±ì newsletter
ì¼ë¡ ì§ì ëììµëë¤. í¼ì´ ì ì¶ëë©´ ì ë¬ë name/value
ìì ë°ì´í°ë subscribe=newsletter
ì ê°ì´ ííë©ëë¤.
ë§ì½ value
í¹ì±ì´ ìëµëë©´, í´ë¹ ì²´í¬ë°ì¤ì 기본 ê°ì on
ì
ëë¤. ë°ë¼ì ì´ ê²½ì° ì ì¶ë ë°ì´í°ë subscribe=on
ì´ ë©ëë¤.
ì°¸ê³ : í¼ì´ ì ì¶ë ë ì²´í¬ë°ì¤ê° ì²´í¬ëì´ ìì§ ìì¼ë©´, ì²´í¬ëì§ ìì ìí를 íííë (ì´ë¥¼í
ë©´ value=unchecked
ê³¼ ê°ì) ë°ì´í°ê° ìë²ì ì ë¬ëì§ë ììµëë¤. ê° ìì²´ê° ìë²ì ì ë¬ëì§ ììµëë¤. ë§ì½ ì²´í¬ë°ì¤ê° ì²´í¬ëì§ ìì ê²½ì° ê¸°ë³¸ ê°ì ì ì¶íê³ ì¶ë¤ë©´, í¼ ìì <input type="hidden">를 Javascript ë±ì ìí´ ìì±ë ëì¼í name
ê·¸ë¦¬ê³ value
ê³¼ í¨ê» í¬í¨ìí¬ ì ììµëë¤.
모ë <input>
ììë¤ì ìí´ ê³µì ëë ê³µíµ í¹ì±ë¤ ì¸ìë, checkbox
inputì ìëì í¹ì±ë¤ì ì§ìí©ëë¤.
checked
(íì´ì§ê° ë¡ëë ë) ì²´í¬ë°ì¤ê° 기본ì ì¼ë¡ ì²´í¬ë ìíë¡ ë³´ì¬ì§ ê²ì¸ì§ë¥¼ ì§ì¹íë ë¶ë¦¬ì¸ í¹ì±ì
ëë¤. ì´ í¹ì±ì ì²´í¬ë°ì¤ê° "íì¬ ì²´í¬ë ìí"ì¸ì§ë¥¼ ëíë´ì§ ììµëë¤. ë§ì½ ì²´í¬ë°ì¤ì ìíê° ë³ê²½ëë©´, ì´ í¹ì±ì ê·¸ ë³ê²½ì ë°ìíì§ ììµëë¤ (ë¨ì§ HTMLInputElement
ì checked
IDL í¹ì±ì´ ë³ê²½ë©ëë¤.)
ì°¸ê³ : ë¤ë¥¸ Input 컨í¸ë¡¤ë¤ê³¼ë ë¤ë¥´ê², ì²´í¬ë°ì¤ì ê°ì íì¬ ì²´í¬ë°ì¤ì ìíê° checked
ì¼ ëìë§ ì ì¶ëë ë°ì´í°ì í¬í¨ë©ëë¤. ì´ ê²½ì°, ì²´í¬ë°ì¤ì value
í¹ì±ì ì§ì ë ê°ì´ Inputì value
ì¼ë¡ì ì ë¬ë©ëë¤. ë¤ë¥¸ ë¸ë¼ì°ì ë¤ê³¼ë ë¤ë¥´ê², Firefoxì ê²½ì° ê¸°ë³¸ì ì¼ë¡ íì´ì§ ë¡ëì 걸ì³ì <input>
ì checked
ìí를 ëì ì¼ë¡ ì ì§í©ëë¤. ì´ ê¸°ë¥ì ì ì´í기 ìí´ìë autocomplete
í¹ì±ì ì¬ì©í´ì¼ í©ëë¤.
value
The value
í¹ì±ì <input>
ììê° ê³µì íë í¹ì±ì
ëë¤. íì§ë§, checkbox
ì íì input
ììë í¹ë³í ì©ëë¡ ì¬ì©ë©ëë¤. í¼ì´ ì ì¶ë ë, íì¬ íì±íëì´ ìë ì²´í¬ë°ì¤ë§ì´ ìë² ì¸¡ì ì ë¬ë©ëë¤. ê·¸ë¦¬ê³ value
í¹ì±ì ì§ì ë ê°ì´ ë°ë¡ ì ë¬ëë ê°ì´ ë©ëë¤. ë§ì½ value
í¹ì±ì ê°ì´ ì§ì ëì´ ìì§ ìë¤ë©´, ìë² ì¸¡ìë 기본 ê°ì¼ë¡ on
ì´ ì ë¬ë©ëë¤. ì´ë ìì Value 구íììë ì¤ëª
íê³ ììµëë¤.
ì´ë¯¸ ììì ëë¶ë¶ì 기본ì ì¸ ì²´í¬ë°ì¤ ì¬ì©ë²ì ë¤ë£¨ììµëë¤. ì¬ê¸°ë¶í°ë ì²´í¬ë°ì¤ì ë¤ë¥¸ ê³µíµ ê¸°ë¥ë¤ê³¼ íìí 기ì ë¤ì ë¤ë£¹ëë¤.
ì¬ë¬ ê°ì ì²´í¬ë°ì¤ ë¤ë£¨ê¸°ììì ì´í´ë³¸ ìì ì ê²½ì° íëì ì²´í¬ë°ì¤ë§ì ê°ì§ê³ ìììµëë¤. ì¤ì ìí©ììë ì¬ë¬ ì²´í¬ë°ì¤ë¤ì ì주 ë§ì£¼ì¹ê² ë©ëë¤. ë§ì½ ì²´í¬ë°ì¤ë¤ì´ ìë¡ ìì í ê´ê³ê° ìë¤ë©´, ê°ê°ì ì²´í¬ë°ì¤ë¤ì ìììì²ë¼ íëì© ë¤ë£° ì ììµëë¤. íì§ë§ ë§ì½ ì²´í¬ë°ì¤ë¤ì´ 모ë ìë¡ ê´ë ¨ëì´ ìë¤ë©´ ì¼ì´ ê°ë¨íì§ë ììµëë¤.
ì를 ë¤ë©´, ìëì ë°ëª¨ë ì¬ì©ìë¡ íì¬ê¸ ìì ì ê´ì¬ì¬ì ëí´ì ì íí ì ìê² íë ì¬ë¬ ê°ì ì²´í¬ë°ì¤ë¥¼ í¬í¨í©ëë¤. (ì ì²´ ìì 를 íì¸íë ¤ë©´ ìì 구íì 참조íì¸ì.)
<fieldset>
<legend>ê´ì¬ì¬ë¤ì ì ííì¸ì</legend>
<div>
<input type="checkbox" id="coding" name="interest" value="coding" />
<label for="coding">ì½ë©</label>
</div>
<div>
<input type="checkbox" id="music" name="interest" value="music" />
<label for="music">ìì
</label>
</div>
</fieldset>
ì´ ìì ìì ì¬ë¬ ì²´í¬ë°ì¤ë¤ì ê°ì name
í¹ì±ì ê°ì´ ì§ì ë ê²ì ì ì ììµëë¤. ë ì²´í¬ë°ì¤ê° 모ë íì±íë ë¤ì í¼ì´ ì ì¶ëë©´ interest=coding&interest=music
ê³¼ ê°ì name/value
ìì 문ìì´ ë°ì´í°ê° ì»ì´ì§ëë¤. ì´ ë¬¸ìì´ì´ ìë²ì ì ë¬ëë©´, ì°ê´ ë°°ì´ì´ ìë ë¤ë¥¸ ë°©ìì¼ë¡ 구문 ë¶ìì ìíí´ì ë§ì§ë§ íëì ê°ë§ì´ ìë 모ë interest
ì´ë¦ì ê°ì§ê³ ìë ê°ë¤ì ì»ì´ë´ì¼ í©ëë¤. ì를 ë¤ì´, íì´ì¬ì¼ë¡ ì´ë¥¼ ìííë 기ì ì íì¸íë ¤ë©´ Handle Multiple Checkboxes with a Single Serverside Variable를 참조íì¸ì.
ì²´í¬ë°ì¤ë¥¼ 기본ì ì¼ë¡ íì±íë ìíë¡ ë§ë¤ê¸° ìí´ìë checked
í¹ì±ì ë¶ì¬í´ì¼ í©ëë¤. ìëì ìì 를 íì¸íì¸ì.
<fieldset>
<legend>ê´ì¬ì¬ë¤ì ì ííì¸ì</legend>
<div>
<input type="checkbox" id="coding" name="interest" value="coding" checked />
<label for="coding">ì½ë©</label>
</div>
<div>
<input type="checkbox" id="music" name="interest" value="music" />
<label for="music">ìì
</label>
</div>
</fieldset>
ì²´í¬ë°ì¤ì ëí´ì ë ëì ì í ììì ì ê³µí기
ìì ìì ìì ì²´í¬ë°ì¤ ìì²´ ë¿ë§ ìëë¼, í´ë¹ ì²´í¬ë°ì¤ì ì°ê´ë <label>
ìì를 í´ë¦í¨ì¼ë¡ì¨ ì²´í¬ë°ì¤ë¥¼ íì±íìí¬ ì ìë¤ë ê²ì ììì±ì ìë ììµëë¤. ì´ë í¹í ì¤ë§í¸í°ê³¼ ê°ì´ ìì íë©´ì ê°ì§ 기기ìì ì¬ì©ìê° ìíë ì¬íì ì½ê² ì íí ì ìëë¡ í´ì£¼ë, HTML í¼ ë ì´ë¸ì êµì¥í ì ì©í 기ë¥ì
ëë¤.
ì ê·¼ì±ì ëì´ì, ì´ë í¼ì <label>
ìì를 ì ì í ì¤ì í ë ë¤ë¥¸ ì¢ì ì´ì ê° ë©ëë¤.
íì±í ë° ë¹íì±í ìíì ë§ë¶ì¬ì, ì²´í¬ë°ì¤ë indeterminateë¼ë ì¸ë²ì§¸ ìí를 ê°ì§ ì ììµëë¤. ì´ ìíë í´ë¹ ì¬íì´ ì íëìëì§ í¹ì ì íëì§ ììëì§ íë¨í ì ìë ìí를 ì미í©ëë¤. ì´ë Javascriptì HTMLInputElement
ê°ì²´ì indeterminate
í¹ì±ì ìí´ ì¤ì ë ì ììµëë¤. HTML í¹ì±ì ì´ì©í´ìë ì¤ì í ì ììµëë¤.
inputInstance.indeterminate = true;
indeterminate ìíì ìë ì²´í¬ë°ì¤ë ëë¶ë¶ì ë¸ë¼ì°ì ìì ë°ì¤ ìì íì±í/ë¹íì±í ìíê° ëë¬ëë ëì , ë¶ìí í¹ì 빼기 기í¸ì ê°ì ìíì ì ê°ì§ê² ë©ëë¤.
ì´ í¹ì±ì ì¬ì©í ì¼ì´ ë§ì§ë ììµëë¤. ê°ì¥ ííê² ì¬ì©ëë ê²½ì°ë ì²´í¬ë°ì¤ê° ì¬ë¬ íì ì²´í¬ë°ì¤ë¥¼ ê°ì§ë ê²½ì°ì ëë¤. ë§ì½ 모ë íì ì²´í¬ë°ì¤ê° íì±íëë©´, ìì ì²´í¬ë°ì¤ ëí íì±íë©ëë¤. ë§ì½ íì ì²´í¬ë°ì¤ê° 모ë íì±íëì§ ììë¤ë©´ ìì ì²´í¬ë°ì¤ë íì±íëì§ ììµëë¤. ë§ì½ íì ì²´í¬ë°ì¤ ì¤ íëê° ë¤ë¥¸ ì²´í¬ë°ì¤ë¤ê³¼ë ë¤ë¥¸ ìí를 ê°ì§ë¤ë©´ ìì ì²´í¬ë°ì¤ë indeterminate ìíê° ë©ëë¤.
ì´ë ìëì ìì ë¡ íì¸í ì ììµëë¤. (ìê°ì ì¤ CSS Tricksì ê°ì¬ë¥¼ íí©ëë¤.) ì´ ìì ìì ì°ë¦¬ë ì¡°í©ì ì¬ì©í ì¬ë£ë¥¼ ì ííë ê³¼ì ì ì¶ì íê² ë©ëë¤. íëì ì¬ë£ì ëí ì²´í¬ë°ì¤ë¥¼ íì±ííê² ëë©´, Javascript í¨ìë ì íë ì¬ë£ì ì를 íì¸í©ëë¤.
indeterminate
ìíê° ë©ëë¤.checked
ìíê° ë©ëë¤.ë°ë¼ì ì´ ìì ìì indeterminate
ìíë ì¬ë£ë¥¼ ì ííë ê³¼ì ì´ ììëìì§ë§ ì¡°í©ì´ ìë£ëì§ë ììë¤ë ê²ì ííí기 ìí´ ì¬ì©ë©ëë¤.
const overall = document.querySelector("#enchantment");
const ingredients = document.querySelectorAll("ul input");
overall.addEventListener("click", (e) => {
e.preventDefault();
});
for (const ingredient of ingredients) {
ingredient.addEventListener("click", updateDisplay);
}
function updateDisplay() {
let checkedCount = 0;
for (const ingredient of ingredients) {
if (ingredient.checked) {
checkedCount++;
}
}
if (checkedCount === 0) {
overall.checked = false;
overall.indeterminate = false;
} else if (checkedCount === ingredients.length) {
overall.checked = true;
overall.indeterminate = false;
} else {
overall.checked = false;
overall.indeterminate = true;
}
}
ì°¸ê³ : ë§ì½ indeterminate
ìíì ì²´í¬ë°ì¤ì í¨ê» í¼ì ì ì¶íê² ëë©´ íì±íëì§ ìì ì²´í¬ë°ì¤ë¥¼ ì ì¶íë ê²ê³¼ ê°ì ì¼ì´ ë°ìí©ëë¤. ì¦, ì²´í¬ë°ì¤ë¥¼ íííë ë°ì´í°ë ì ë¬ëì§ ììµëë¤.
ì²´í¬ë°ì¤ë 모ë <input>
ììë¤ì ì ê³µëë ì í¨ì± ê²ì¦ ì ì§ìí©ëë¤. íì§ë§ ëë¶ë¶ì ValidityState
ê°ì false
ì
ëë¤. ë§ì½ ì²´í¬ë°ì¤ê° required
í¹ì±ì ê°ì¡ì§ë§ íì±íëì§ ìì ê²½ì°ì, ValidityState.valueMissing
ê°ì true
ê° ë©ëë¤.
ìëì ìì ë ììì 본 "ì¬ë¬ ê°ì ì²´í¬ë°ì¤ ë¤ë£¨ê¸°" ììì ìì 를 íì¥í ê²ì ëë¤. ë ë§ì ì²´í¬ë°ì¤ë¥¼ ê°ì§ê³ ìì¼ë©°, "Other" ì²´í¬ë°ì¤ë íì±íëìì ë ì´ ì²´í¬ë°ì¤ì ëí´ì ë¤ë¥¸ ê°ì ì ë ¥í ì ìë í ì¤í¸ ììì´ ëíë©ëë¤. ì´ë ê°ë¨í JavaScript ë¸ë¡ì íµí´ 구íí ì ììµëë¤. ëí ì´ ìì ë ì¤íì¼ì ê°ì í기 ìí´ ì¼ë¶ CSS ëí í¬í¨í©ëë¤.
HTML<form>
<fieldset>
<legend>Choose your interests</legend>
<div>
<input type="checkbox" id="coding" name="interest" value="coding" />
<label for="coding">Coding</label>
</div>
<div>
<input type="checkbox" id="music" name="interest" value="music" />
<label for="music">Music</label>
</div>
<div>
<input type="checkbox" id="art" name="interest" value="art" />
<label for="art">Art</label>
</div>
<div>
<input type="checkbox" id="sports" name="interest" value="sports" />
<label for="sports">Sports</label>
</div>
<div>
<input type="checkbox" id="cooking" name="interest" value="cooking" />
<label for="cooking">Cooking</label>
</div>
<div>
<input type="checkbox" id="other" name="interest" value="other" />
<label for="other">Other</label>
<input type="text" id="otherValue" name="other" />
</div>
<div>
<button type="submit">Submit form</button>
</div>
</fieldset>
</form>
CSS
html {
font-family: sans-serif;
}
form {
width: 600px;
margin: 0 auto;
}
div {
margin-bottom: 10px;
}
fieldset {
background: cyan;
border: 5px solid blue;
}
legend {
padding: 10px;
background: blue;
color: cyan;
}
JavaScript
const otherCheckbox = document.querySelector("#other");
const otherText = document.querySelector("#otherValue");
otherText.style.visibility = "hidden";
otherCheckbox.addEventListener("change", () => {
if (otherCheckbox.checked) {
otherText.style.visibility = "visible";
otherText.value = "";
} else {
otherText.style.visibility = "hidden";
}
});
기ì ìì½ ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
<input>
ê³¼ 그를 구ííë HTMLInputElement
ì¸í°íì´ì¤:checked
ê·¸ë¦¬ê³ íì¬ ìí를 기ë°ì¼ë¡ ì²´í¬ë°ì¤ë¥¼ ê¾¸ë° ì ìë :indeterminate
CSS ì íì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