Marks a checkbox or radio button as selected by default when the page loads.
checked は、チェックボックス/ラジオボタンを「初期状態でオン」にするための boolean属性 です。
見た目のON/OFFだけでなく、フォーム送信時に「どれが送信対象になるか」に直結するので、value とセットで理解しておくと事故が減ります。
checked を付ける場所(<input type="checkbox">/radio)を迷わず判断できるchecked だけでOK)を、試験の正誤判定で外さないname=value が送られる)を説明できるchecked / defaultChecked の違いでハマらない<label>)と一緒に“押しやすいUI”として実装できるchecked は「ページ読み込み直後の選択状態(デフォルト)」を指定します。
ユーザーがクリックして状態を変えると、その後の状態は checked 属性ではなく input.checked(プロパティ)として扱われます。
チェックボックスとラジオで、初期状態がどう変わるかを体感します。
checkbox:初期状態でON
radio:グループ内で1つだけON
HTML
<!-- checkbox -->
<label><input type="checkbox" name="news" value="on" checked> 受け取る</label>
<!-- radio(同じ name でグループ化) -->
<label><input type="radio" name="plan" value="basic" checked> Basic</label>
<label><input type="radio" name="plan" value="pro"> Pro</label>
JavaScript
document.addEventListener("change", (e) => {
const input = e.target.closest("input[type=checkbox], input[type=radio]");
if (!input) return;
console.log(input.name, input.checked, input.value);
});
checked は boolean属性なので、属性名だけで意味が成立します。
HTML
<input type="checkbox" name="agree" value="yes" checked>
<!-- 値を省略しても動くが、読みやすさと正誤判定のために避ける -->
<!-- <input checked="checked"> は古い書き方としてはOK -->
checked だけで統一するchecked="false" は 無効化ではない(付いている時点で真)に注意checked は、基本的に <input> のうち次の type に対して使います。
<input type="checkbox"> / <input type="radio"><input>(text/password/email など)や、<select>/<option>(こちらは selected)「選択済み」を表したい対象が radio/checkbox 以外なら、別の属性(例:selected/open)を検討します。
送信される条件は次のとおりです。
checked(オン)のときだけ、その input の name=value が送られるname のグループで オンの1つ だけが送られるつまり checked は「見た目」だけでなく、送信データの有無を決めるスイッチです。
JavaScript
(() => {
const form = document.querySelector("#demoCheckedForm");
const out = document.querySelector("#demoCheckedOut3");
if (!form || !out) return;
function dump() {
const params = new URLSearchParams(new FormData(form));
out.textContent = params.toString() || "(no data)";
}
form.addEventListener("change", dump);
form.addEventListener("reset", () => setTimeout(dump));
form.addEventListener("submit", (e) => {
e.preventDefault();
dump();
});
dump();
})();
属性(checked)は「初期状態」、プロパティ(input.checked)は「いまの状態」です。
input.checkedinput.defaultCheckedchecked 属性に対応)。form.reset() で戻る先
<label> で入力と文言をひとまとまりにするaria-checked をむやみに足さないname が揃っていない(別グループ扱い)。解決:同じ選択肢セットは name を同一にする。value 未指定。解決:送る値が意味を持つなら value を明示する(例:yes/newsletter)。checked(属性)で表し、JS は「現在値」を更新する。input.checked = false)。checked は boolean属性:checked="false" は「オフ」ではないname の中で1つだけ選ばれる(checked が複数あっても最終的に1つになる)checked は <option> ではなく selectedinput.checked(プロパティ)を更新します。checked を付けなければ未選択にできます。ユーザーが一度選ぶと、通常のUIでは「未選択へ戻す」は用意されないことが多いので、要件次第で「未選択」用の選択肢を別途用意します。