2017-01-04 1 views
0

ボタンクリック時のテキストボックスの長さを計算しようとしています。 通常のangularjsコードフローでは、私は結果を得ることができます。anglejsのng-pattern制限のために未定義のテキストボックス値の長さを取得する方法

しかし、私はテキストボックスとng-pattern="/^([0-9]{1,25})?$/"を制限し、ちょうどアルファベットを入力することで長さを取得しようとすると、I`mは取得:

未定義

長さを、私は、ユーザーがのみ入力するために理解を期待することはできません最初の入力項目の数字。したがって、アルファベットを入力しても、ng-patternやその他の代替方法を削除せずに入力の長さを取得する方法。

ここにコードがあります。

+0

あなたは長さ?? uはNG-変更して試してみましたを取得しようとしていますか? –

+0

いいえ、私はng-blurを試しています。以前はng-changeで試してみましたが、ng-patternのために未定義になったのは数値だけです。 – shabarinath

+0

入力をtype = "number"に設定してng-patternの必要性を排除するのはなぜですか? – rrd

答えて

1

希望は、これはあなたの要件である

var app = angular.module('plunker', []); 
 

 
app.controller('myCtrl', function($scope){ 
 
    $scope.len=0; 
 
$scope.call=function(x){ 
 
    $scope.len=x.length; 
 
} 
 
});
<!DOCTYPE html> 
 
<html ng-app="plunker"> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    
 
    <script data-require="[email protected]" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script> 
 
    
 
    </head> 
 

 
    <body ng-controller="myCtrl"> 
 
    <p>Hello {{name}}!</p> 
 
    <input type="text" ng-pattern="/^([0-9]{1,25})?$/" ng-model-options="{allowInvalid: true}" ng-model="called" ng-change="call(called)"> 
 
    
 
    <p>length={{len}}</p></body> 
 

 
</html>

+0

ありがとうございました。非常に便利です。追加(ng-model-options = "{allowInvalid:true}")は問題を解決しました。 – shabarinath

+0

ようこそ....... –

関連する問題