Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部JS文件获取表单_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 从外部JS文件获取表单

Javascript 从外部JS文件获取表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我想从外部JS文件访问表单。我的问题是,虽然我可以使用 document.forms[0] 及 假设有多个表单,我想选择用户当前使用的表单。(可以通过URL或其他方式选择表单) 我想要一个广义的答案,意思是我已经知道如何通过ID、类或属性访问表单。欢迎使用jQuery和JavaScript进行回答。 我对JS和JQ有点陌生,如果能给我一点帮助,我将不胜感激 假设我正在使用jQuery验证插件, 我知道 我到底想做什么 不是专门访问表单,而是动态地从5个表单中找出用户当前正在访问的表单,并将该表

我想从外部JS文件访问表单。我的问题是,虽然我可以使用

document.forms[0]

假设有多个表单,我想选择用户当前使用的表单。(可以通过URL或其他方式选择表单)

我想要一个广义的答案,意思是我已经知道如何通过ID、类或属性访问表单。欢迎使用jQuery和JavaScript进行回答。 我对JS和JQ有点陌生,如果能给我一点帮助,我将不胜感激

假设我正在使用jQuery验证插件, 我知道

我到底想做什么

不是专门访问表单,而是动态地从5个表单中找出用户当前正在访问的表单,并将该表单值分配给validate()

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

您可以使用获取当前具有焦点的元素,然后使用
parentNode
沿着链向上移动,直到到达
form
元素(对照
.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())
的形式调用函数,以便能够对其调用
.validate()

如果您能够提供更多您编写的代码来解决这个问题,那将是一件非常棒的事情,这样我们就可以帮助您做好准备。你给我们4个单词的密码。我们甚至不知道“external”js文件是什么意思(“external”到什么?到另一个js文件?到HTML文档应该是什么样子?)我们没有代码示例,没有变量,没有上下文,你想要一个通用的答案,就像宇宙中的所有情况一样。来吧,好吧,对不起,我已经用代码编辑了这个问题!外部意味着它只是另一个JS文件,没有你想象的那么奇怪!您需要在事件上触发代码以检查正在使用的表单,例如焦点事件
$('input')。在('focus',function(){var form=$(this).parent().validate();
etcTy,我将尝试一下,是否可以通过其URL获取当前表单值?
$('form:eq(0)').validate()
$('current form accessed by user').validate()
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;
        }
    }
}