How to trigger form submit programmatically in AngularJS?

后端 未结 3 548
遇见更好的自我
遇见更好的自我 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:17

    Just use event .triggerHandler('submit') on form element.

    myApp.directive("extSubmit", ['$timeout',function($timeout){
        return {
            link: function($scope, $el, $attr) {
                $scope.$on('makeSubmit', function(event, data){
                  if(data.formName === $attr.name) {
                    $timeout(function() {
                      $el.triggerHandler('submit'); //<<< This is Important
    
                      //equivalent with native event
                      //$el[0].dispatchEvent(new Event('submit')) 
                    }, 0, false);   
                  }
                })
            }
        };
    }]);
    

    Look at http://jsfiddle.net/84bodm5p/

提交回复
热议问题