[英]AngularJS ngKeyUp function the value is undefined
html
<input class="input--style" type="email" name="email" ng-model="attempt.email" ng-keyup="check(attempt.email)" value="">
angularjs
$scope.check = function(text){
console.log(text);
$http({
method: 'POST',
url: '/api/user/check/',
data: {'email': $scope.attempt.email},
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
}).success(function(data, status, headers, config) {
console.log(data);
$scope.user.emailvalid = data.email;
});
}
此输入在模态内部,当模态触发上方的角度在该模态控制器内部时,它可以按预期工作, 但是当我开始在输入字段中键入console.log(text);
输出undefined
$scope.attempt = {}
这是在我上面的$scope.attempt = {}
脚本之前,我只是好奇为什么它不起作用。
您是否真的想在用户每次按键时都拨打服务器电话? 您是否不希望有至少〜200ms的debounce
?
尝试这样做:
<input class="input--style" type="email" name="email"
ng-model="attempt.email" ng-model-options="{ debounce: 200 }"
ng-change="check(attempt.email)" >
我忘记回答您的原始问题:您正在使用input
type="email"
,因此,除非它是有效的电子邮件,否则angular会将模型设置为undefined
。 因此,angular实际上会帮您一个忙,因为除非模型包含有效的电子邮件地址,否则您可能不希望对该服务器进行调用,对吗? 因此,只需更改您的“检查”功能,使其首先检查该值是否undefined
,以及是否未对服务器进行调用并将$scope.user.emailvalid
设置为false
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.