web-dev-qa-db-ja.com

AngularJS-フォームを送信せずにng-clickを使用する方法?

Ng-clickとng-submitの両方を持つフォームがあります。

ng-submitは送信用であり、ng-clickはアップロードなどの別の関数を呼び出します。

Ng-clickが誤ってフォームを送信しないようにするにはどうすればよいですか?

ありがとうございました!

16
ssxdots

ngClickしないフォームを送信します。

場合によっては、buttonに2つのform要素があり、どちらも送信するため、問題が発生することがあります。これを回避するには、タイプ"button"を指定します。例:

function demo ($scope) {
  
  $scope.doSubmit = function () {
    alert('I submit');
  };
  
  $scope.doClick = function () {
    alert('I click');
  };
  
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app ng-controller="demo">
  
  <form ng-submit="doSubmit()">
    <button type="button" ng-click="doClick()">click</button>
    <button type="submit">submit</button>
  </form>
  
</div>
50
meriadec