从指令调用ngSubmit

时间:2015-06-21 23:15:21

标签: javascript angularjs forms angularjs-directive

您好我有一个指令,可以在点击按钮时更改标签。我只想从指令内部调用ngSubmit进行表单验证。有可能吗?

指令

angular.module 'myapp'
.directive 'nextButton', [() ->
  return {
    restrict: 'A'
    replace: true  
    transclude: false
    scope: {
      saveLocal: '&saveDataLocal'
      nextTab: '='
    }
    link: (scope, elem, attrs) -> 
      console.log scope.saveLocal
      elem.bind 'click', ()->
        console.log attrs
        scope.saveLocal 'app'
        angular.element('#'+scope.nextTab).trigger('click')
  }
]

我的玉石模板中的html:

form#generalFormScc(name="form" ng-submit="saveForm(form, $event)")
  input(type='text', placeholder='Name', ng-model="name", required)
  button(next-button next-tab="'next'" save-data-local="ngSubmit" form-name="'generalFormScc'") Next

这里, next-tab是触发下一个标签的id, save-data-local应该触发ngSubmit

我知道我可以直接从指令调用saveForm(),但我也想要默认的html验证。所以我想触发ngSubmit。

有什么办法吗?谢谢

1 个答案:

答案 0 :(得分:2)

我发现我可以获取表单的id并调用提交方法以供将来参考。

new TokenInjectionService($rootScope)