input . type=number.使用后问题点
所有主浏览器都支持type属性,但是,并非所有主流浏览器都支持所有不同的 input 类型。
以下 input 类型是 HTML5 中的新类型:color、date、datetime、datetime-local、month、week、time、email、number、range、search、tel 和 url。
这里只说 type=number 类型。
(来自菜鸟)【Internet Explorer 9 及更早 IE 版本不支持 type="number";很遗憾的是火狐浏览器并不支持type=number 】
在使用的过程中遇到的问题,
1.Android版app。
集成的内核是支持type=number类型。调出的软键盘是数字键盘。【符合预期】
问题:1.字母e由于是计数的一种,是可以输入的;
2.字母e通过value取值时是取不到的;[是数学但不是数字,有点😅]
3.当输入字母时,通过value取值返回的是“”空字符串,输入框是字母e.
相对来说,兼容性还是很好的。
2.IOS版app
集成的webkit内核,比较奇怪的是,只调出了数字键盘,和原生调出的数字键盘并不是同一个。======请大牛🐮指点啊,评论😄
问题:1.任何字符都可以输入,type=number在输入阶段没有做任何校验;
2.通过value取值时返回的是。。。。。,这个我需要确认一下。😅
离预期差的不是一站地的距离。
一时没有想出好的解决方案,【1.点击input框时调取数字键盘;2.不可以输入字母;3.保留两个小数点】
<input type="number" id="oInput" placeholder="请输入数字">
<input type="button" value="提交" id="oBtn">
var oInput = document.querySelector("oInput");
var oBtn = document.querySelector("oBtn");
var maxNum = 2000;
var minNum = 5;
var oVal;
oInput.addEventListener(
'blur'
,
function
() {
this.value = this.value>=0?parseFloat(this.value).toFixed(2):parseFloat(this.value);
},
false
);