我想从外部JS文件访问表单。我的问题是,虽然我可以使用
访问单个表单document.forms[0]
和
$('form:eq(0)')
考虑到有多种表单的情况,我想选择用户当前使用的表单。 (也许可以通过URL或其他东西选择一个表单)
我想要一个通用答案,这意味着我已经知道如何通过ID,类或属性访问表单。欢迎使用jQuery和JavaScript中的答案。 我对JS和JQ不熟悉,我会很感激帮助。
说我正在使用jQuery验证插件, 我做了
$('form:eq(0)').validate()
我真正想做的事情
不是专门访问表单,而是动态地找出用户当前从5个表单中访问哪个表单并将该表单值分配给validate()
$('current form accessed by user').validate()
问题:我不知道如何动态访问当前表单值!
答案 0 :(得分:0)
您可以使用document.activeElement
获取当前具有焦点的元素,然后使用parentNode
向上链接,直至找到form
元素(检查{{1}在这种情况下,您找到了您要查找的表单,或者直到您到达.tagName
元素,在这种情况下,用户当前没有选择表单。
使用html
循环的一种可能的实现方式:
while(true)
您可能需要将该功能称为function getSelectedForm()
{
var el = document.activeElement;
while(true)
{
if(el.tagName == 'HTML')
{
return null;
}
else if(el.tagName == 'FORM')
{
return el;
}
else
{
el = el.parentNode;
}
}
}
才能在其上调用$(getSelectedForm())
。