验证后角度形式重置

时间:2015-06-19 08:46:58

标签: javascript jquery angularjs forms validation

我正在使用角度js进行验证,表单上的工作正常但是在表单生效后我发送ajax请求并使用jquery代码保留它,所以我的表单仍然显示有效。以下是js片段:

var myApp = angular.module('myApp', []);

myApp.controller('myController', function ($scope) {    

    $scope.clearForm = function (formId) {
        $(formId)[0].reset();
        console.log($scope.note['title'])
        //$scope.note['title'] = null;
    };

    $scope.submitForm = function () {
        if ($scope.noteForm.$valid) {
            alert("valid");
            //ajax request
            $scope.clearForm('#noteForm');
        }
    }
});

Fiddle Demo

如果我使用$scope.note['title'] = null;设置空白值,则清除后会显示错误。

Fiddle Demo

我该如何解决这个问题?我想要的是休息后应该进入初始状态。

1 个答案:

答案 0 :(得分:1)

我不希望在jQuery中清除表单,而是希望您在.*上使用$setPristine()方法,该方法将以角度方式形成form。您还需要通过执行pristine来清除表单字段。

<强>代码

$scope.note = {}

Demo Fiddle