anglejを使用してテキストエリアが空の場合、キーボードのEnterキーを押してもキーボードイベントを処理できないようにしようとしています。テキストエリアが空のときに送信ボタンを無効にすることができましたが、テキストエリアが空のときにイベントを入力するときにテキストエリアを無効にしようとしています。私は私のテキストエリアからエンターキーを押したときangularjsを使用してテキストエリアを無効にする
<div class="descriptionarea">
<textarea ng-model="trackTxt" id="input" ></textarea>
<span class="buttonfortxtarea">
<button ng-disabled="!trackTxt" class= "btn btn-mini description_submit" id="new-chat-button">Submit</button></span>
</div>
それは上記のコードは、テキストエリアが空であるか否かが働き、次のコード
document.getElementById('input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { // enter key press
send();
}
});
を使用してイベントをトリガ:
は、これが私の試みです。
EDITTED:JSPファイル内angularjs
app.controller('TodoCtrl',function($scope){
//handle javascript enter event on key up
// function TodoCtrl($scope) {
$scope.trackTxt;
$scope.send = function($event){
alert('TEST');
}
$scope.isEmpty = function(param){
return param.trim().length === 0;
}
//}
});
の私のapp.jsで
<div ng-controller="TodoCtrl">
<textarea ng-keyup="$event.keyCode == 13 && !isEmpty(trackTxt) && send($event)" ng-model="trackTxt" id="input" ></textarea>
<span class="buttonfortxtarea">
<button ng-disabled="!trackTxt" ng-click="send($event)" class= "btn btn-mini description_submit" id="new-chat-button">Submit</button></span>
</div></div>
どのように私は時に今まで起こってから入力したイベントを防ぐためにangularjsを使用することができますしてくださいテキスト領域は空です。あなたは、単にそれが空の場合...
document.getElementById('input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13 && $(this).val() != "") { // enter key press
send();
}
});
これも動作するかもしれチェックすることができ
で、フォームがイベントを提出する意味ですか? – harishr
何かのイベントを無効にするようなイベントを無効にすることで達成したいのですか? –
テキストエリアにテキストがなく、アカウントスペースを取らずに入力された場合、送信ボタンを無効にしたいのですか? –