Ответ 1
Благодаря Matt Way comment - моя кнопка сохранения была вне моей формы. Фиксированный
Мой взгляд:
<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()">×</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);
});
}
}]);
Тем не менее, когда я нажимаю save, я не получаю предупреждение. Не уверен, что там происходит.
Благодаря Matt Way comment - моя кнопка сохранения была вне моей формы. Фиксированный
Даже если кнопка находится внутри формы и все еще ng-submit
не работает, измените вашу кнопку type
на отправить.
<button type="submit" class="btn btn-success" ng-click="login()">Login</button>
P.S: Другие ответы мне не помогли, пока я не изменил тип кнопки на submit
. Надеюсь, это поможет.
Возможно, вам следует добавить атрибут "novalidate" в теге формы, чтобы избежать проверки собственного браузера, как указано здесь https://docs.angularjs.org/guide/forms
Это также влияет на кнопку отправки в форме (кнопка или input type="submit"), или ng-submit не будет работать.
для меня проблема была "обязательным" тегом в одном из полей формы. После удаления этого тега форма снова работала. Старый способ решения таких проблем - попытаться прокомментировать часть вашей формы и запустить код.
Я предпочитаю использовать тег "novalidate" в форме и кнопку с типом = "отправить", чтобы проверка формы выполнялась с помощью angular.