本文介绍如何使用 jquery ui sortable 插件将 `
- ` 列表嵌入表单,使其支持拖拽排序与动态编辑,并在表单提交时将列表项作为数组参数传递至后端。
在标准 HTML 表单中,
- 和
- 本身不具备表单控件语义(如 name 属性或自动序列化能力),因此无法直接通过
⚠️ 注意事项
- 兼容性:jQuery UI Sortable 需引入 jQuery + jQuery UI 库,若项目已用 Vue/React,建议改用原生 SortableJS 或框架专用方案(如 vue-draggable-next);
- 空值处理:示例中使用 .trim() 过滤空白项,生产环境建议增加非空校验与去重逻辑;
- 后端接收:服务端需解析 items 字段的 JSON 字符串(如 Node.js 中 JSON.parse(req.body.items),Python Flask 中 json.loads(request.form['items']));
- 无障碍与可访问性:为
- 添加 tabindex="0" 并补充键盘拖拽支持(如 aria-sort 属性),提升可访问性。
通过该方案,你不仅能获得直观的拖拽交互体验,还能无缝集成进现有表单体系,真正让语义化的列表结构具备“可提交”的表单能力。
- 本身不具备表单控件语义(如 name 属性或自动序列化能力),因此无法直接通过








