2017-11-18 111 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>