重置AngularJs中控制器外部的表单字段

时间:2015-04-07 06:33:09

标签: javascript angularjs

我在重置注册模式表单字段时遇到问题。

例如,当用户单击模态关闭按钮并获取$ http请求后,我调用了自定义resetForm函数。

$scope.resetForm = function () {
            $scope.successMessage = "";
            $scope.message = "";

            $scope.FPEmail = "";
            $scope.forgotForm.$setPristine();
        };

但是引导模态具有通过在模态体外单击来获得近距离的属性。在这种情况下,我无法重置.Form。我试图通过点击我打开模态的按钮来解决它。但是这个按钮位于控制器外面,我不知道如何从控制器外部重置表格。

3 个答案:

答案 0 :(得分:1)

要在此实例中使用范围,您需要在与其相关的ng-controller中按住ng-click。如果您 cant 这样做,则可以使用JavaScript。

看看我昨天问过的一个问题:)如果你使用的是angular-UI

,这可能会有所帮助

AngularJS $modalInstance - Can i do this in one controller?

答案 1 :(得分:1)

Angular BootstrapUI $modal服务调用返回一个属性为result的对象,该对象是“当模态关闭时被解析并在模式被解除时被拒绝的承诺”。通过单击弹出窗口外部关闭模式被视为拒绝此承诺。这意味着在您的情况下,您需要在拒绝回复承诺中调用resetForm。例如:

$modal.open({
    template: 'form.html',
    controller: 'formController'
})
.result.then(function() {
    alert('resolved')
}, function() {
    $scope.resetForm();
});

答案 2 :(得分:0)

你可以在控制器中使用很少的jQuery代码

$('#id')。val('')

为我工作..