How to trigger form submit programmatically in AngularJS?

后端 未结 3 527
遇见更好的自我
遇见更好的自我 2021-01-06 00:48

From Angular\'s documentation it follows that ngSubmit is a preferred way of submitting a form. All pending operations are immediately finished and $submitted f

3条回答
  •  臣服心动
    2021-01-06 01:27

    You can modify your directive code a bit like:

    function wuSubmit() {
        return {
            require: 'form',
            restrict: 'A',
            link: function(scope, element, attributes) {
                var scope = element.scope();
                if (attributes.name && scope[attributes.name]) {
                    scope[attributes.name].$submit = function() {
                        // Parse the handler of submit & execute that.
                        var fn = $parse(attr.ngSubmit);
                        $scope.$apply(function() {
                            fn($scope, {$event: e});
                        });
                    };
                }
            }
        };
    }
    

    Here you don't have to add wu-submit everywhere. ng-submit will work.

    Hope this helps!

提交回复
热议问题