μ΄ λ°λͺ¨λ νμ μ νν ν μΌκ΄ μ
λ°μ΄νΈνλ μΌλ°μ μΈ ν¨ν΄μ ꡬννλ λ°©λ²μ 보μ¬μ€λλ€. μ΄λ ν
μ΄λΈ μ£Όμμ formμ λ°°μΉνκ³ ,
ν
μ΄λΈ μμ 체ν¬λ°μ€λ₯Ό λ£κ³ , 체ν¬λ κ°μ form μ μΆ(POST
μμ²)μ ν¬ν¨μμΌ μνλ©λλ€:
<form id="checked-contacts"
hx-post="/users"
hx-swap="outerHTML settle:3s"
hx-target="#toast">
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Active</th>
</tr>
</thead>
<tbody id="tbody">
<tr>
<td>Joe Smith</td>
<td>joe@smith.org</td>
<td><input type="checkbox" name="active:joe@smith.org"></td>
</tr>
...
</tbody>
</table>
<input type="submit" value="Bulk Update" class="btn primary">
<span id="toast"></span>
</form>
μλ²λ 체ν¬λ°μ€μ κ°μ λ°λΌ μνλ₯Ό μΌκ΄ μ λ°μ΄νΈν©λλ€. μλ²λ μ λ°μ΄νΈμ λν μμ ν μ€νΈ λ©μμ§λ‘ μλ΅νμ¬ μ¬μ©μμκ² μλ¦¬κ³ , μ κ·Όμ±μ μν΄ ARIAλ₯Ό μ¬μ©νμ¬ μ λ°μ΄νΈλ₯Ό 곡μνκ² μ립λλ€.
#toast.htmx-settling {
opacity: 100;
}
#toast {
background: #E1F0DA;
opacity: 0;
transition: opacity 3s ease-out;
}
ν₯λ―Έλ‘μ΄ μ μ HTML form μ λ ₯μ΄ μ΄λ―Έ μ체 μνλ₯Ό κ΄λ¦¬νκΈ° λλ¬Έμ μ¬μ©μ ν μ΄λΈμ μΌλΆλ₯Ό λ€μ λ λλ§ν νμκ° μλ€λ κ²μ λλ€. νμ± μ¬μ©μ 체ν¬λ°μ€λ μ΄λ―Έ 체ν¬λμ΄ μκ³ , λΉνμ± μ¬μ©μ 체ν¬λ°μ€λ μ²΄ν¬ ν΄μ λμ΄ μμ΅λλ€!
μλμμ μ΄ μ½λμ μλ μμ λ₯Ό νμΈν μ μμ΅λλ€.