使用$ setPristine重置角度形式

时间:2013-10-17 15:45:50

标签: forms angularjs

使用$ scope.form。$ setPristine()返回undefined。

<html>
    <form name="my_form">
        ...
    </form></html>

在$ routeProvider上定义控制器

.when('page_name', {
    templateUrl: '...',
    controller: function($scope) {
        console.log(my_form); // returns the form object
        my_form.$setPristine(); returns Object #<HTMLFormElement> has no method '$setPristine'
        console.log($scope.my_form); // returns undefined
        $scope.my_form.$setPristine(); // returns Cannot call method '$setPristine' of undefined
    }
}

我也尝试通过jQuery $scope.my_form = $('form');将表单传递给$ scope,正如预期的那样,它只是发送了表单对象并导致了第一个错误。如何使这种方法起作用?

我尝试将一个Plunker放在一起进行演示,但我似乎无法正确地在那里工作。

关于表单的其他所有内容都可以使用。我想知道如何让$ setPristine工作。

1 个答案:

答案 0 :(得分:-2)

将表格和ng-controller放在同一级别......

<form name="my_form" ng-controller="my_controller">

这对我有用。

(抱歉我的英文); - )