好的,我正在尝试为自己创建一个可重用的函数,我最终可以返回给定容器(例如 div 或特定表单)中所有表单元素的对象。但是,我似乎坚持将实际的容器/表单传递给我的函数,以便它可以在元素上运行。
目前我有:
function findAllFormElements(formElem)
{
//detect all form elemets on the page in a given form/container
formObj = {};
$(formElem ':input').each(function(key, val)
{
$(document).append(val+'<br>');
});
console.log(formObj);
}
其中formElem
预计是包含元素/表单元素,即:
<div class="something">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<select>
<option></option>
</select>
<textarea></textarea>
</div>
或者
<form class="something">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<select>
<option></option>
</select>
<textarea></textarea>
</form>
从长远来看,两者都是可接受的容器类型,因为该项目中的某些表单实际上没有表单标签。
授予它我当前的示例并没有完全描述我想要说的内容,因为它会将内容吐出到控制台,并将它们附加到document
最终结果,但一旦我知道如何formElem
正确传递参数,我就可以获得所有输入类型从直接<input>
标签到<select>
,textarea
将是所有表单元素的对象,其中 id/name 是对象的键,如果有值的话。无论哪种方式,都只是想弄清楚这种捕获的最佳策略是什么。所以我可以遍历元素并获取这些信息。