当浏览器填充表单时,AngularJS不绑定模型

时间:2014-08-01 10:10:18

标签: javascript jquery angularjs

我们有一个包含电子邮件和密码字段的登录表单。

FF具有保存用户名和密码的功能。

所以一旦我输入它然后保存密码。

下次登录时,表单会自动填充浏览器,不会有任何点击,绑定,更改或模糊事件。

因此,当我提交正确填写的表格时,数据不会放在模型中,即$ scope。

我必须在提交中编写查询代码以获取电子邮件和密码字段的值。

我们还能避免使用jQuery来获取值吗?

我真正的问题是什么?

一般情况下 - 我们是否有任何角度选项可以从dom再次获取(刷新)值。

像$ scope.usr.email.refresh或angular.refresh(usr.email.refresh)或

之类的东西

可能是最佳回报$ scope.usr.email.refresh = angluar.get(' .email')

而不是制作$ scope.usr.email.refresh = $(' .email')。val();

我在使用复选框时遇到了类似的问题,其中复选框状态是使用一些扩展设置的,但ng-model不直接采用状态或表达式。

1 个答案:

答案 0 :(得分:1)

使用以下自动填充指令

app.directive("autofill", function () {
    return {
        require: "ngModel",
        link: function (scope, element, attrs, ngModel) {
            scope.$on("autofill:update", function() {
                ngModel.$setViewValue(element.val());
            });
        }
    }
});