2017-04-16 1 views
0

入力値を小文字にして入力値を設定し、押している間は特殊文字を避けるように設定しようとしています。コードの下AngularJS +スペースなしの入力ボックスの値を設定する命令、小文字、特殊文字の使用を避ける

は空白を削除し、小文字を設定しようとしていると、同じディレクティブで特殊文字を避けるためですが、キーを押しますが、最後のアルファベットは大文字

みたいとして残った後、入力ボックスの値を変更しようとすると

を失敗しました

app.directive('restrictField', function() { 
    return { 
    restrict: 'AE', 
    scope: { 
     restrictField: '=' 
    }, 
    link: function (scope) { 
     var regex = /\s/g;  
     scope.$watch('restrictField', function (newValue, oldValue) { 
     if (newValue != oldValue && regex.test(newValue)) { 
      scope.restrictField = newValue.toLowerCase().replace(regex, ''); 
     } 
     }); 
    } 
    }; 
}); 
+0

2のものは、あなたがあなただけの「A」に制限変更することができ、また、あなたは、keyUpイベントにこのディレクティブを発射することもできます。 これを試してみてください時計を使用する代わりに。これまでに得た成果はどうなっていますか? – tcrite

+0

はい、私はangularjsでそれほど良くありません。だから試してみる – Rubyist

答えて

0

これはおそらくあなたの状態のためです。 newValueに空白が含まれている場合にのみnewValueを小文字に変換します。これはそれだけで属性ディレクティブだように思えるから、私が気づい

scope.$watch('restrictField', function (newValue, oldValue) { 
    if (newValue !== oldValue) { 
     scope.restrictField = newValue.toLowerCase().replace(regex, ''); 
    } 
}); 
関連する問題