9

我如何通过ng-submit在表单中找到触发按钮 并在此按钮中获取属性

<form ng-submit="submit()" ng-controller="Ctrl">
  <input type="submit" att1="A" att2="B" value="Edit" />
  <input type="submit" att1="C" att2="D" value="Delete" />
</form>

<script>
  function Ctrl($scope) {
    $scope.submit = function() {
      alert(this.att1)
      alert(this.att2)
    }
  }
</script>
4

1 回答 1

13

您可以在提交之前使用 ng-click 更改范围的值

<form ng-submit="submit()" ng-controller="Ctrl">
  <input type="submit" ng-click="setAtts('A', 'B')" value="Edit" />
  <input type="submit" ng-click="setAtts('C', 'D')" value="Delete" />
</form>

<script>
  function Ctrl($scope) {
    $scope.submit = function() {
      alert($scope.att1);
      alert($scope.att2);
    };

    $scope.setAtts = function(a1, a2) {
      $scope.att1 = a1;
      $scope.att2 = a2;
    };
  }
</script>

编辑:附带说明$event不适用于 ng-submit,如果您有兴趣使用$event.target(无论如何可能不应该从控制器完成)

于 2012-10-21T23:15:46.410 回答