28

我的观点:

<div class="modal" tabindex="-1" role="dialog" ng-controller="LocationController">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" ng-click="$hide()">&times;</button>
        <h4 class="modal-title">
          Add a Location
        </h4>
      </div>
      <div class="modal-body">
        <form class="form-horizontal" role="form" ng-submit="createLocation()">
          <div class="form-group">
            <label class="col-sm-2 control-label">Name</label>
            <div class="col-sm-10">
              <input type="text" class="form-control" placeholder="Warehouse A, Row 15, Shelf BC1, etc" ng-model="name">
            </div>
          </div>

          <div class="form-group">
            <label class="col-sm-2 control-label">Type</label>
            <div class="col-sm-10">
              <input type="text" class="form-control" placeholder="warehouse, row, shelf, etc" ng-model="type">
            </div>
          </div>

        </form>
      </div>
      <div class="modal-footer">
        <button type="submit" class="btn btn-primary">Save</button>
        <button type="button" class="btn btn-danger" ng-click="$hide()">Cancel</button>
      </div>
    </div>
  </div>
</div>

我的控制器:

angular.module('mean').controller('LocationController', ['$scope', '$location', '$rootScope', 'LocationService', '$modal', '$routeParams', function ($scope, $location, $rootScope, LocationService, $modal, $routeParams) {

  $scope.createLocation = function() {
alert('afds');
    LocationService.create(this).then(function(response) {
      console.log(response);
    });
  }

}]);

然而,当我点击保存时,我没有收到警报。不知道那里发生了什么。

4

6 回答 6

43

感谢Matt Way评论——原来我的保存按钮在我的表单之外。固定的

于 2014-02-17T14:28:32.957 回答
23

即使按钮在表单内并且仍然ng-submit无法正常工作,也可以将按钮更改typesubmit

<button type="submit" class="btn btn-success" ng-click="login()">Login</button>

PS:在我将按钮类型更改为 之前,其他答案对我没有帮助submit。希望这可以帮助。

于 2015-12-23T13:31:11.400 回答
7

也许您应该在表单标签上添加“novalidate”属性以避免本机浏览器验证,如此处所示https://docs.angularjs.org/guide/forms

于 2015-05-27T20:47:42.930 回答
3

这也会影响,表单中必须有一个提交按钮(按钮或输入类型 =“提交”),否则 ng-submit 将不起作用。

于 2016-07-07T07:01:26.410 回答
1

对我来说,问题是表单字段之一上的“必需”标签。删除此标签后,表单再次工作。解决此类问题的旧方法是尝试注释部分表单并运行代码。

我更喜欢在表单上使用 'novalidate' 标记,以及带有 type="submit" 的按钮,以便表单的验证由 Angular 完成。

于 2016-08-12T10:17:27.113 回答
-7

有史以来最愚蠢的错误,确保你正在编译你的 js 代码。

于 2018-02-21T23:52:45.467 回答