使用angularjs提交表单

时间:2013-09-25 11:22:14

标签: jquery forms angularjs

是否有任何简单的方法可以使用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

1 个答案:

答案 0 :(得分:6)

我认为它导致了一个递归调用(因为你在jQuery包装器对象上调用submit它会再次调用表单提交处理程序),试着调用dom元素的submit方法而不是

$('form[name="ticketForm"]')[0].submit();