用 htmx 构建渐进增强表单的实战心得

Building progressively enhanced forms using Htmx

最近我在 ties 项目中构建了一个高度交互的表单,用于编辑书签和关联列表。我采用渐进增强策略:无 JavaScript 时表单依然可用,启用 JS 后则通过 htmx 提升体验。文章探讨了在无 JS 环境下如何处理临时状态,比如利用表单值、URL 参数和路径来保留用户输入。我还分享了如何检测用户按下的按钮、拆分表单以避免 Enter 键冲突,以及 htmx 中 hx-target 的权衡。我的经验是:先写纯 HTML 功能,再叠加 htmx 优化,这样既保证兼容性,又避免后期重构。

我通常最终选择交换整个页面,因为这样在未来最不容易出错。

同日更多故事

2026-08-06