【发布时间】:2018-08-21 08:38:03
【问题描述】:
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
$scope.addMe="";
});
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script>
</head>
<body>
<div ng-app="myShoppingList" ng-controller="myCtrl">
<input type="number" ng-model="addMe">
<p>{{addMe}}</p>
</body>
</html>
其实输入type = number是不允许大部分特殊字符输入的。但它只允许输入+ and - and (Adding and subscription),即使它不允许输入/ and * (divide and multiply)。
而且当我们在输入框中输入- and +时,输入字段的值也会无效
我不确定这个问题是来自浏览器还是 Html,因为我从0123456789.Ee-+ are all legal characters according to Chrome 的这个答案中获得了一些详细信息。但是我也在 IE 11 浏览器中检查了这个问题,这也遇到了同样的问题。所以我们对 input type = number should allow - and + like 0123456789.Ee-+值有了一个想法,但我不知道允许这个字符有什么用?
我的主要问题是为什么
type=number允许输入这些字符,那么为什么它返回无效值?如果输入框返回无效值,那么为什么允许输入这些租船人?有什么用? 使用?
【问题讨论】:
-
在这种情况下,这些不是用于加减的符号,而是指示数字是否低于或高于零
-
另外,如果您在文本框中输入 (e),那么在数字类型文本框中也可以接受。了解更多关于 e 常量的信息 (en.wikipedia.org/wiki/E_(mathematical_constant))
-
@sachin 那为什么它不接受负值呢??
-
因为数字也可以是负数或正数以保持 (+) 或 (-) 数,因此有 min 和 max 属性可用于限制用户输入
-
@MartinSchneider 能否请您清楚地阅读我的问题。我已经在我的问题中链接了这些细节。请看看我的主要问题。
标签: javascript html angularjs integer