在AngularJS中输入ng-change时如何提交表单

Hel*_*Che 7 forms submit angularjs

当点击(或更改)任何输入时,表单提交的"AngularJS方式"是什么?

<form ng-submit="submit($event)" id="myForm">
  <input type="checkbox" name="foo" value="bar" ng-click="???"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我很想使用jQuery而只是做ng-click="$('#myForm').submit()",但它可能值得学习它.

我已经尝试过ng-click="submit($event)",但这里的错误是$event在整个范围内的对象input而不是整个form(如果我错了,请纠正我,这是我从文档中得到的).

dfs*_*fsq 4

好吧,你可以通过触发 AngularJS 提交事件来执行类似的操作:

$scope.change = function($event) {
    $timeout(function() {
        angular.element($event.target.form).triggerHandler('submit');
    });
};
Run Code Online (Sandbox Code Playgroud)

在哪里

<input type="checkbox" name="foo" value="bar" ng-click="change($event)" />
Run Code Online (Sandbox Code Playgroud)

不过我认为最好简单地使用与 中使用的相同的ngClick函数ngSubmit

演示:http://plnkr.co/edit/tJIYD9ZVjYzwA2aXJobo ?p=preview