
本文详解如何在多个动态克隆的表单场景下,精准获取点击“Save”按钮所在最近父表单中指定字段(如 Model)的值,并推荐使用现代、健壮的 FormData API 统一提取全部表单数据。
本文详解如何在多个动态克隆的表单场景下,精准获取点击“save”按钮所在**最近父表单**中指定字段(如 `model`)的值,并推荐使用现代、健壮的 `formdata` api 统一提取全部表单数据。
在实际开发中,当页面存在多个结构相同、动态克隆生成的表单(例如车辆信息录入模块),每个表单都包含独立的 Save 按钮时,关键挑战在于:如何确保点击某个按钮时,只读取它所属的那个表单内的字段值,而非全局首个匹配项或报错。
你原始 jQuery 代码中的主要问题在于混淆了原生 DOM 元素与 jQuery 对象的用法:
var TheForm = $(this).closest("form")[0]; // ✅ 得到原生 HTMLFormElement
// ❌ 错误:TheForm 是原生元素,不支持 .find() 或 .val()
// var Model = TheForm.find('input[name="Model"]').val();
✅ 正确做法一:使用 jQuery 链式查找(推荐初学者理解)
保持 jQuery 风格,直接对 $(this) 向上查找表单,再在其内部查找目标输入框:
$(".send").on("click", function(e) {
e.preventDefault();
// 获取当前按钮所在的最近










