如何在angular中记录元素



我正在开发一个Angular应用程序,并且我有一个包含iframe的视图(该iframe的目的只是显示登录表单)。

就像我尝试手动提交表单不成功一样,我试图记录公式以检查我是否真的能够到达它,但我对如何做到这一点感到困惑…

iframe中的form有name属性myForm

  <iframe id="myIframe" name="myIframe" src="someUrl.com">
    <html>
     ...
     <form name="myForm" class="form" action="myAction()" method="post" onsubmit="myStuffToDO()">
       ...
       ...
     </form>
     ...
    </html>
  </iframe>

所以我试图在控制器中记录表单的方式是这样的:

    var iframeForm = angular.element.find('myForm');
console.log(iframeForm);

控制台的结果是:

[]

我真的很困惑如何做到这一点,所以请帮助我。

.find('myForm')会找到<myForm>标签,而不是带有属性值为"myForm"的标签。.find('[name="myForm"]')是您正在寻找的,但它不会与内置元素实现一起工作,因为.find,如文档中所述,"仅限于按标记名称查找"。这意味着您还需要在项目中包含jQuery。然后Angular就会用它来代替jqLite的实现,这样复杂的选择器就可以工作了。

您可以使用表单名访问范围如下:

console.log($scope.formName);

从页面中你可以通过angular访问angular元素。

元素+ jquery选择器

如:angular.element("[name = ' myForm ']")

最新更新