2013-09-25 115 views
1

是否有任何简单的方法来提交表单使用angularjs没有角度ajax调用或旧式的风格,通过添加​​3210属性来形成?使用angularjs提交表单

一个例子将是一个巨大的形式,其中每个字段分配模式是不是一种选择,或者要么Ajax调用发送它为好,但由于形式走进去NG-应用程序,我无法找到如何任何其他解决方案提交它。忘了说,为各种形式添加动作也是一个坏主意(就我而言)。

我试着将它与jQuery结合起来,但我可能也在做worng。

<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(); 
    }; 
}]); 

的形式submited,但在控制台我看到的,角度不喜欢它了,

Error: $apply already in progress 
+0

角度直接不支持,你必须使用模型和Ajax提交表单 –

回答

6

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

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

是的,这与错误解决问题本地的提交,但它可以用角来完成只,没有上面提到的步骤? – Eugene

+0

@Eugene你想在这里做什么? –

+0

@Eugene如果你正在尝试做一个普通的页面提交,那么不需要提交处理程序本身 –