1

action="xxxx"有没有简单的方法通过向表单添加属性来使用 angularjs 提交表单而无需 angular ajax 调用或老式风格?

一个例子是一个巨大的表单,其中为每个字段分配模型不是一个选项,或者也不能通过 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
4

1 回答 1

6

我认为这会导致递归调用(因为由于您在 jQuery 包装器对象上调用提交,它将再次调用表单提交处理程序),请尝试调用 dom 元素的提交方法

$('form[name="ticketForm"]')[0].submit();
于 2013-09-25T11:24:36.667 回答