在AngularJs Modal中提交表单

时间:2017-09-12 15:38:21

标签: angularjs angular-ui-bootstrap

我尝试使用AngularJs编写的模式(弹出窗口)中的输入提交一个简单的表单:

myApp.run(function($rootScope, $modal) {

    $rootScope.$on('$stateChangeStart', function(event, toState) {

        if (toState.name == 'statePopup') {

            $modal.open({
                templateUrl : 'popup.html',
                controller : 'AllegatiController',
                backdrop: 'static'
            });

            event.preventDefault();

        } else {

            return;
        }
    })
})

表格html是:

<form>
    <div class="form-group">
        <label>File Name:</label> 
        <input type="text"  ng-model="name"></input>
    </div>
    <button ng-click="save()" class="btn btn-primary">Save</button>

</form>

在我的controller.js中:$ scope.name未定义

更新:

这是我的控制者:

function myController($scope) {
    console.log("all myController");


     $scope.save = function() {

        var name= $scope.name;
        console.log('name is '+name);


    }
}

似乎在为所有应用程序定义的模型的运行中错过了$ scope参数?

我的代码中缺少什么?

2 个答案:

答案 0 :(得分:1)

通过更新我的ui-bootsrap版本从0.12.0

更新问题

这是一个帮助我的链接:

Link angularJs modal submit form

答案 1 :(得分:0)

如果你有这个:

$modal.open({
    templateUrl : 'popup.html',
    controller : 'AllegatiController',
    backdrop: 'static'
});

你的控制器应该是:

myApp.controller('AllegatiController', ['$scope', function ($scope) {
    console.log('all myController');

    $scope.save = function () {
       var name = $scope.name;
       console.log('name is '+name);
    }
}]);