角度ng-submit不起作用

时间:2016-01-20 05:24:58

标签: javascript angularjs forms

我正在开发一个angular-js项目。我想通过ng-submit提交表格。但这不行。 我的Html代码是

<!DOCTYPE html>
<html lang="en">
<head>
    <title>AngularJS Routes example</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular-route.min.js"></script>
</head>

<body ng-app="sampleApp" class="container">

<div class="btn-group">
    <a href="/view" class="btn btn-info">List</a>
<a href="/add" class="btn btn-danger">Add New</a>
</div>
<hr>

<div ng-view></div>

<script>
    var module = angular.module("sampleApp", ['ngRoute']);

    module.config(['$routeProvider','$locationProvider',
        function($routeProvider,$locationProvider) {
            $routeProvider.
                    when('/view', {
                        templateUrl: 'template/view/list',
                        controller: 'RouteController'
                    }).
                    when('/add', {
                        templateUrl: 'template/view/new',
                        controller: 'RouteController'
                    }).
                    otherwise({
                        redirectTo: '/view'
                    });
                    $locationProvider.html5Mode(true);
        }]);

    module.controller("RouteController", function($http,$scope, $routeParams) {
        $http.get('welcome/phones').success(function(data) {
          $scope.phones = data;
        });

        $scope.formData = {};

        $scope.saveInfo = function() {

            formData = $scope.form;
            console.log(formData);

            $http.post('welcome/save',formData);
        }
    });
</script>



</body>
</html> 

我的表单模板是

<form action="#" ng-submit="saveInfo()" method="post" ng-controller="RouteController">
    <div class="form-group">
        <label for="">Product</label>
        <input type="text" name="name" ng-model="form.name" class="form-control">
    </div>
    <div class="form-group">
        <label for="">Price</label>
        <input type="text" name="price" ng-model="form.price" class="form-control">
    </div>
    <div class="form-group">
        <input type="submit" class="btn btn-info" value="Submit">
    </div>
</form>

我的/add/view可以正常工作。但是当我提交表单时,ng-submit不起作用。表格直接提交。我在控制台中没有得到任何东西。我的问题在哪里?谢谢。

3 个答案:

答案 0 :(得分:2)

尝试初始化$ scope.form:

$scope.formData = {};
$scope.form = {};

答案 1 :(得分:1)

{{1}}

答案 2 :(得分:0)

根据您提交的代码,您不打算使用$scope.formData。我认为这是一个错字。只需将其更改为$scope.form = {}

即可
$scope.form = {}; // instead of $scope.formData