0

使用 $scope.form.$setPristine() 返回未定义。

<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 $scope.my_form = $('form');,正如预期的那样,它只是发送了表单对象并导致了第一个错误。要使这种方法起作用需要什么?

我尝试将 Plunker 放在一起进行演示,但我似乎无法让路由在那里正常工作。

顺便说一句,有关表单的其他所有内容都有效。我只想知道如何让 $setPristine 工作。

4

1 回答 1

-2

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

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

这对我有用。

(对不起我的英语);-)

于 2013-10-24T13:11:11.690 回答