从外部JS文件获取表单

时间:2015-04-15 06:53:19

标签: javascript jquery html forms

我想从外部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()

问题:我不知道如何动态访问当前表单值!

1 个答案:

答案 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())