如果angularjs中的语句不起作用

时间:2016-11-10 14:19:33

标签: angularjs

我有一个登录页面,使用angularjs评估用户名和密码 但似乎我在控制器中的条件语句返回false,即使我输入了一个真值

这是我的html文件

<div class="row">
<form action="/">

    <input type="text" class="form-control" id="username" ng-model="username" required>                     
    <input type="Password" class="form-control" id="username" ng-model="password" required>                     
    <br>
    <button type="button" style="width: 40%;"  ng-click="submit()"> Log In </button>

</form>     
</div>

和我的控制器

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

app.controller('ctrl',
 function($scope, $location) { 

    $scope.submit = function() {
        var username = $scope.username;
        var password = $scope.password;

        if($scope.username == 'admin' && $scope.password == 'admin') {
            console.debug('success');
        } else {
            console.debug('fail');
        }
    }


});

每当我在用户名和密码中输入“admin”时,我的控制台总是“失败”,这意味着提交函数返回false。

2 个答案:

答案 0 :(得分:1)

1)根据HTML规范,您需要在2个不同的元素上具有相同的ID html 4.1

2)你应该明确声明你希望你的控件注入的对象如下所示。这样,当您减去代码时,依赖注入将继续工作

app.controller('ctrl',['$scope','$location'
 function($scope, $location) { }]);

3)回答你的问题为什么这不起作用。我的plunkr有效。我删除了路由,因为它不需要。确保您输入&#39; admin&#39;没有空格/帽子

答案 1 :(得分:0)

<html>
<head>
    <script src="angular.js"></script>
    <script src="route.js"></script>
</head>
<body>
    <div class="row" ng-app="myApp" ng-controller="ctrl">
        <form action="/">

            <input type="text" class="form-control" id="username" ng-model="username" required>                     
            <input type="Password" class="form-control" id="username" ng-model="password" required>                     
            <br>
            <button type="button" style="width: 40%;"  ng-click="submit()"> Log In </button>

        </form>     
    </div>
    <script>
        var app = angular.module('myApp',["ngRoute"]);

        app.controller('ctrl',
                       function($scope, $location) { 

            $scope.submit = function() {
                var username = $scope.username;
                var password = $scope.password;

                if($scope.username == 'admin' && $scope.password == 'admin') {
                    console.debug('success');
                } else {
                    console.debug('fail');
                }
            }
        });
    </script>
</body>