是否有任何简单的方法可以使用angularjs提交表单而无需使用有角度的ajax调用或旧式学校风格,只需将action="xxxx"
属性添加到表单中即可?
一个例子是一个巨大的形式,其中为每个字段分配模型不是一个选项,或者也是通过ajax调用发送它,但是由于形式在ng-app内部,我找不到任何其他关于如何提交的解决方案它。忘了说,为各种形式添加动作也是坏主意(在我的例子中)。
我尝试将它与jQuery结合使用,但我也可能正在使用它。
<form name="ticketForm" method="post" enctype="multipart/form-data" ng-controller="TicketCtrl" ng-submit="submitForm()">
...
</form>
脚本部分将是:
var Ticket = angular.module('ticket', []);
Ticket.controller('TicketCtrl', ['$scope', function($scope)
{
$scope.submitForm = function()
{
$('form[name="ticketForm"]').submit();
};
}]);
表单是提交的,但在控制台中我看到,角度不喜欢它,
Error: $apply already in progress
答案 0 :(得分:6)
我认为它导致了一个递归调用(因为你在jQuery包装器对象上调用submit它会再次调用表单提交处理程序),试着调用dom元素的submit方法而不是
$('form[name="ticketForm"]')[0].submit();