javascript – Angular JS不允许preventDefault或返回false以提交表单

我有一个我想通过AJAX提供的表单:

<form class="form-inline ng-pristine" ng-submit="sendForm()" method="post" action="/sign_up" accept-charset="UTF-8">

$scope.sendForm = (e) ->
  e.preventDefault ->
  console.log 'sendForm()'
  return false  

console.log出现,并立即提供表单。

它忽略e.preventDefault()和返回false。

AngularJS让我想起了这位亲爱的獾。它只是不在乎

我知道我已经很晚了,但如果你还没有弄清楚,你可以保留这个动作,并确保通过将$ event传递给ng-submit功能来实际提交表单。然后可以使用event.preventDefault();完成所有处理后,在控制器中。

所以在你的情况下会是:

<form class="form-inline ng-pristine" ng-submit="sendForm($event)" method="post" action="/sign_up" accept-charset="UTF-8">

$scope.sendForm = (e) ->
  // doing stuff
  e.preventDefault()

希望这可以帮助。

翻译自:https://stackoverflow.com/questions/14524020/angular-js-does-not-allow-preventdefault-or-return-false-to-work-on-form-submiss

转载注明原文:javascript – Angular JS不允许preventDefault或返回false以提交表单