Javascript 当输入类型为“时,OnlyNumeric指令不工作”;“数字”;在角js中
我搜索了几乎所有的东西,但没有找到答案,也许这里有人可以帮忙。 好的,首先让我介绍一下这个指令的作用,它不允许在我的输入中输入任何字母 这里我的Javascript 当输入类型为“时,OnlyNumeric指令不工作”;“数字”;在角js中,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我搜索了几乎所有的东西,但没有找到答案,也许这里有人可以帮忙。 好的,首先让我介绍一下这个指令的作用,它不允许在我的输入中输入任何字母 这里我的OnlyNumeric指令在我的input type=“text”工作时起作用, 但当input type=“number” 这是我的指示 app.directive('onlyNumeric', function () { return { require: 'ngModel', link: function (
OnlyNumeric
指令在我的input type=“text”
工作时起作用,
但当input type=“number”
这是我的指示
app.directive('onlyNumeric', function () {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
alert();
if (text == null) { text = ""; }
var text = text.toString();
var transformedInput = text.replace(/[^0-9]+/g, '');
if (transformedInput.length > 7) {
transformedInput = transformedInput.slice(0, -1);
}
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
if (!isNaN(Number(transformedInput))) {
// alert("decimal no");
return parseInt(transformedInput);
}
else { return transformedInput; }
// return transformedInput;
}
ngModelCtrl.$setValidity('is_valid', false);
ngModelCtrl.$parsers.push(fromUser);
}
};
});
我的html
<input type = "number" only-numeric ng-model ="age">
因此,当我将我的类型更改为“文本”时,它就起作用了
所以我尝试了另一种捕获keydown事件的方法,但我不知道如何捕获我的输入值,
行
ngModelCtrl.$parsers.push(fromUser)代码>在输入有效之前不会传递我的输入我认为您没有执行指令,您应该将其与带破折号的名称一起使用,如下所示:
<input type="number" only-numeric ng-model="age">
很抱歉,这是一个打字错误,我编辑了我的QT,但输出仍然相同