繁体   English   中英

ng-submit以角形形式调用两次

[英]ng-submit called twice in angular form

我已就这个问题经历过几个问题,但没有一个问题能解决我的问题

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

我在这个问题的第二个答案中使用了一种方法(主要是投票)

我没有在HTML中包含控制器作为ng-controller

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

如何处理这个问题?

角形式docs将其指定为

如果表单有一个或多个输入字段和一个或多个按钮或输入[type = submit],则在任何输入字段中输入enter将触发第一个按钮上的click处理程序或输入[type = submit](ngClick)和封闭表单上的提交处理程序(ngSubmit)

我在下面的示例中插入了您的代码,它的行为与文档中指定的完全相同,并且在提交表单时只执行一次提交(第一次)

 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> 

我遇到了同样的问题,花了5天的时间来搞清楚。 不要在表单的开始标记中添加(ngSubmit)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM