2017-11-18 119 views
3

我已经通过对这个问题的几个问题了,但没有解决我的问题NG提交的角形式叫了两声

我使用的是形式,其中2型提交按钮调用相同的功能。一个按钮在ng-click上发送一个额外的变量。当我提交我的函数被调用两次。

我使用的方法告诉在this question的第二个答案(主要是投)

我没有将控制在HTML

<form ng-submit="SaveContent(Form)"> 
    <button type="submit">Save</button> 
    <button type="submit" ng-click="Data.IsSent = true">Save & Send</button> 
</form> 

如何处理这个问题NG-控制器?

+0

没有足够的信息来回答时执行。 – dfsq

+0

@dfsq需要更多信息? – siproxin

+0

你引用的问题没有两个type ='submit'的按钮。一个是一个简单的按钮。试着改变它。 –

回答

1

角形式docs其指定为

如果窗体具有一个或多个输入字段和一个或多个按钮或 输入[类型=提交]然后打在任何输入字段的输入将 触发的第一个按钮或输入点击处理程序[类型=提交] (ngClick)和包围表单上的提交处理(ngSubmit)

我插入代码在下面的例子和它的行为完全一样它是在文档中指定S和只有一个提交(第一批)提交表单

angular.module("app",[]).controller("myCtrl",function($scope){ 
 

 
$scope.Data ={}; 
 
$scope.Data.IsSent = false; 
 
$scope.SaveContent = function(form){ 
 
if($scope.Data.IsSent){ 
 
    alert('submitted- and ngclick is invoked'); 
 
    }else{ 
 
    alert('submitted'); 
 
    } 
 
    $scope.Data.IsSent = false; 
 
}; 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="myCtrl"> 
 

 
<form ng-submit="SaveContent(Form)"> 
 
    <input type="text" name="text1"/> 
 
    <button type="submit">Save</button> 
 
    <button type="submit" ng-click="Data.IsSent = true">Save & Send</button> 
 
</form> 
 

 
</div>