javascript - Angular 表单不提交

标签 javascript angularjs

我是 Angular 的新手,所以我在摆弄 Angular 1,

我按照文档说的做了,但是当我点击提交时,它并没有触发我在 Controller 中创建的功能。

所以我在页面的一侧加载我创建的有效配置文件,它加载数据库中的配置文件。

另一方面,我有一个提交个人资料的表格。我的问题是为什么当我点击提交时 athleteCreateCtrl 没有被触发?

我做错了什么,请帮忙!

<section>
  <div class="container">
    <div class="row">
      <div class="col-sm-4 col-md-4 col-lg-4">
        <div class="form-group" ng-controller="athleteCreateCtrl">
          <form ng-submit="addAthlete()">
            <label for="name">Name</label>
            <input id="name" type="text" name="name" class="form-control" ng-model="name" />
            <br  />


            <button type="button" class="btn btn-info" style="width: 100%">Submit</button>
          </form>
        </div>
      </div>
      <div class="col-sm-4 col-md-8 col-lg-8" >
        <div ng-controller="athletesCtrl">
          <div class="row">
            <div ng-repeat="athlete in athletes">
              <span>{{athlete.name}}</span>
            </div>
          </div>
        </div>

      </div>
    </div>
  </div>
</section>

这是我的 app.js

var app = angular.module('Athlete',['ngRoute']);

app.config(['$routeProvider', function($routeProvider){
    $routeProvider.
        when('/',{
            templateUrl: 'views/Athlete.view.html',
            controller: 'athletesCtrl'
        }).
            when('/',{
        templateUrl: 'views/Athlete.view.html',
        controller: 'athleteCreateCtrl'
    }).
        otherwise({redirectTo: '/'})
}]);

运动员.controller.js

angular.module("Athlete")

.controller('athletesCtrl', ['$scope','$http', function($scope, $http){
    $http.get('/athlete').success(function(data){
        $scope.athletes = data.athletes;
    });
}])
.controller('athleteCreateCtrl', ['$scope', '$http', '$routeParams', function($scope, $http){
    $scope.addAthlete = function(){
        var data = {
            name: $scope.name,
        }
        $http.post('/athlete', data).success(function(data, status) {
            console.log(status);
        });
    }
    $http.get('/athlete').success(function(data){
        $scope.athletes = data.athletes;
    });
}]);

最佳答案

将按钮类型更改为“提交”。

<button type="submit" class="btn btn-info" style="width: 100%">Submit</button>

关于javascript - Angular 表单不提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49675544/

相关文章:

javascript - 在 IE 中的 IME 菜单上输入,在输入时触发 keyup 事件

javascript - 未知提供商 : $uibModalProvider <- $uibModal <- modalPopDirective

javascript - Angular 1.2.0-rc.3 指令优先级变更问题

javascript - ng-repeat 数组按数据源的属性索引排序

javascript - 相当于jquery中的angularjs拦截器

Javascript 内联和外部脚本的区别

javascript - 如何在 Sweet Alert 2 Promise 中传递数组

javascript - 使用 anchor + javascript 提交表单 - 不好的做法?

javascript - 定义要在网页中用作输入的参数

javascript - AngularJS 1.2.0 $http 不保留数组元素