Javascript Angularjs在获取html元素的控制器中引用表单

Javascript Angularjs在获取html元素的控制器中引用表单,javascript,angularjs,forms,Javascript,Angularjs,Forms,我有一个名为loginForm的表单,它有一个控制器loginController,其方法login设置为表单的提交。在javascript中的login方法内部,如果我引用表单而没有使用范围引用它;这样做loginForm而不是$scope.loginForm;我得到了对html元素的引用,如果我检查window.loginForm,我会发现这是一个全局变量。我试图弄清楚这个变量是如何被创建并放入全局范围的。请参阅下面的plnkr链接,以了解我所指的示例 控制器 如果您使用的是表单,则需要从视

我有一个名为loginForm的表单,它有一个控制器loginController,其方法login设置为表单的提交。在javascript中的login方法内部,如果我引用表单而没有使用范围引用它;这样做loginForm而不是$scope.loginForm;我得到了对html元素的引用,如果我检查window.loginForm,我会发现这是一个全局变量。我试图弄清楚这个变量是如何被创建并放入全局范围的。请参阅下面的plnkr链接,以了解我所指的示例

控制器 如果您使用的是表单,则需要从视图中传递表单

<form name="loginForm"  class="form-horizontal" ng-submit="login(loginForm)">

或者使用ng form=formName获取表单控制器实例作为作用域的一部分,但angular 1.2版本存在一个问题,其中ng submit未在ng form上触发。

我了解如何从方法中获取对表单的引用;我试图弄清楚的问题是,为什么当我引用loginForm时,我会返回html元素。我试图弄清楚这个全局变量是如何创建的。在某些浏览器中,您可以将formName作为窗口的一部分进行访问。这是众所周知的事。。但该表单是html元素。。在控制器中,您可能真的需要FormControlleral,这样您不仅可以看到id为的元素也可以作为窗口的一部分访问。。。这是你的问题吗?看来PSL是对的。创建一个stub.html文件。检查window.foo。它与AngularJS无关。我不知道如果我引用表单名称而不执行document.forms.formname,那么我仍然可以得到表单html元素。我还没有尝试过这一点,但是如果你观察你描述的行为,这真的很奇怪。
<form name="loginForm"  class="form-horizontal" ng-submit="login(loginForm)">
$scope.login = function(loginForm){