Per-row controls
Per-row controls must not sit inside one enclosing <form>. For a non-GET
request htmx collects the surrounding form’s values and lets them override the
element’s own — so every row ships every other row’s value. See
duplicate-field-in-form.
The fix
Section titled “The fix”Give each control its own hx-* attributes. Unique ids per control. Use
hx-include when you need fields from elsewhere — not a table-wide form.
In the template, TaskRow / TaskForm follow this shape. The anti-pattern and
the corrected table are fixtures:
TABLE_WRAPPED_IN_FORM— wrongTABLE_WITH_HX_INCLUDE— right
See Fixtures and Conventions.