我希望我的文本框只允許數字,並且對其有字符限制。輸入文字的字符數限制
目前,我有數字工作......現在我有問題想出如何限制字符。
這是我有...
JS:
app.directive('numbersonly', function() {
return {
restrict: 'A',
link: function (scope, elm, attrs, ctrl) {
elm.on('keydown', function (event) {
if (event.which == 64 || event.which == 16 && elm.val().length > 4) {
return false;
} else if (event.which >= 48 && event.which <= 57) {
return true;
} else if (event.which >= 96 && event.which <= 105) {
return true;
} else if ([8, 13, 27, 37, 38, 39, 40].indexOf(event.which) > -1 && elm.val().length > 4) {
return true;
} else {
event.preventDefault();
return false;
}
});
}
}
});
標記:
<input type="text" id="txtEmpAge" data-ng-model="newemployee.Age" class="form-control" numbersonly required />
我想在指令中處理它而不是標記 – user4756836
如果您不想在HTML中處理它,您可以簡單地更改您在鏈接函數中傳遞的元素的屬性嗎?我是否錯過了一些東西,因爲我假設你必須把你想要的限制放在隔離的範圍上,你必須在指令中放入你的HTML,或者你希望所有的輸入都是相同的長度。 – Maccurt
@Maccurt,因爲我使用了類似的指令輸入數字,它不允許maxlength和max似乎不能很好地工作 – user4756836