2016-08-19 72 views
1

我有一个输入文本字段为反映:AngularJS文本输入值在范围上并不可变

<input type="text" class="form-control" id="inputValue" name="uservalue" ng-model="inputNumber" ng-required="true" autofocus="true" ng-blur="checkIfValid()"/> 

我的控制器具有纳克模糊功能如下:

$scope.checkIfValid = function(){ 
     console.log("Value is = " + $scope.inputNumber); 
} 

我已经定义 - $scope.inputNumber = '';

即使我在文本字段中输入一个值并点击'Tab'或移动到下一个字段来调用ng-blur函数,我的console.log显示一个空值。

我在这里做错了什么? `

+2

可能plunker? – mfrachet

+0

为了调试目的,请尝试使用ng-change代替ng-blur。对于详细描述问题的重击者也是+1。 – Sombriks

+0

同意一个重拳 - 控制器/指令如何绑定在一起? –

回答

5

入住这

var app = angular.module("myapp", []); 
 
app.controller("myCtrl", ['$scope', function($scope) { 
 
    $scope.inputNumber="new"; 
 
    
 
    $scope.checkIfValid = function(){ 
 
     console.log("Value is = " + $scope.inputNumber); 
 
} 
 
    
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myapp"> 
 
    <div ng-controller="myCtrl"> 
 
    <input type="text" class="form-control" id="inputValue" name="uservalue" ng-model="inputNumber" ng-required="true" autofocus="true" ng-blur="checkIfValid()"/> 
 
    
 
    <h1>{{inputNumber}}</h1> 
 
    </div> 
 
</div>

+0

即使你的答案是正确的 - 这是对我有用的: 我将inputNumber作为参数传递给checkifValid(inputNumber),然后值进入我的控制器,任何想法为什么会发生这种情况? – 221b

+0

嗨,我没有得到,你想传递值作为参数 – Pravin

+0

是的 - 我通过ng模型作为参数,并且工作 - 我可以在我的控制器中获取值..但$ scope.inputNumber doesn' t似乎对文本框中的输入值有约束力 - 任何想法为什么? – 221b