【发布时间】:2014-04-08 19:13:18
【问题描述】:
我在格式化输入字段时遇到了 angularjs 的问题。这是背景
我们需要一个信用卡输入文本字段,它需要是 type="number" 以便移动设备可以显示数字键盘。在 blur 事件中,我们需要屏蔽除最后 4 位之外的所有数字。
即使 angular ng-model 接受模型中的特殊字符,该值也不会显示在输入字段中。
这是说明问题的示例代码。
<!DOCTYPE html>
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<meta charset="utf-8"/>
</head>
<body>
<div ng-controller="PaymentController">
Card Number 1:<input type="number" ng-model="ccard1" /> {{ccard1}} <br/>
Card Number 2:<input type="number" ng-model="ccard2" /> {{ccard2}} <br/>
Card Number 3:<input type="number" ng-model="ccard3" /> {{ccard3}}
</div>
<script>
function PaymentController($scope){
$scope.ccard1=1234;
$scope.ccard2='1234';
$scope.ccard3='####';
}
</script>
</body>
</html>
有人帮我解决这个问题吗?
【问题讨论】:
-
有什么问题 - 你将
type设置为number- 它只接受数字。 -
这不是 AngularJS 的问题。浏览器是阻止掩码的,因为输入类型是数字。