javascript - angularjs:访问指令内的表单字段

标签 javascript angularjs angularjs-directive angularjs-ng-form

我有一个指令 barFoo,它具有以下模板:

<div>
    ....
    <input ng-model="data">
</div>

该指令在表单内使用!现在,在这个指令中我想做这样的事情

element.find('input').$setValidity('bar-valid', false);

但是,这不起作用。此外,输入字段没有 name 属性。 有没有办法在没有“name”属性的情况下做到这一点?

更新:另一种解决方案是在指令元素上定义 ngModel

<bar-foo ng-model="data.value"></bar-foo>

并按如下方式重写指令

....
    .directive('barFoo', function () {
        return {
            require: 'ngModel',
            ...
            link: function (scope, element, attrs, ctrl) {
                ctrl.$setValidity('bar-valid', false);
            }
    });

最佳答案

看看这个问题:AngularJS Form Validation Directive $setValidity on element

我会给你你所需要的,包括代码

关于javascript - angularjs:访问指令内的表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22143618/

相关文章:

javascript - 如何在 AngularJS 中调用 ng-change 上的多个函数?

javascript - 在指令中监听表单提交事件

javascript - 像 Angular 中的 jQuery 一样触发事件和 DOM 操作

javascript - 合并两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后用转换后的 url 替换 iframe src

javascript - 如何从ng-repeat发送数据?

javascript - 使用 Angular js 进行页面重定向的有效方法

javascript - 使用 AngularJS 从 Unsplash 预加载随机图像

javascript - 如何使 ng-click 在 Angular DataTables 列生成器中工作?

javascript - 使用node.js向HL7服务器发送数据的问题

javascript - 根据内容调整 iframe 的大小