我有一个登录页面,使用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。
答案 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>