这对我来说是奇怪的行为,但在 Webkit 浏览器(Chrome/Safari、notFirefox)如果我在一个数字字符串中包含一个空格<input type=number>
那么value
该输入的内容为空。
请参阅这个 JSFiddle:http://jsfiddle.net/timrpeterson/CZZEX/5/ http://jsfiddle.net/timrpeterson/CZZEX/5/
这是代码:
<input id='withOutspace' type='number' value='123'>
<input id='with_space' type='number' value='123 123'>
<button>click</button>
$('button').click(function(){
alert("withOut:"+$('#withOutspace').val()+" |||| with:"+$('#with_space').val());
});
如果你去这个 JSFiddle http://jsfiddle.net/timrpeterson/CZZEX/5/,你会注意到with_space
输入为空。但是,如果您在其中输入一个包含空格或任何非数字字符的数字,则警报将提示输入为空。
显然,这对于使用信用卡号等进行表单验证来说是一场灾难,所以有人对此有破解吗?
黑客是使用type="tel"
代替type="number"
.
这解决了 2 个主要问题:
- 它会在移动设备上调出数字键盘
- 它验证了(并且是not空),以数字或非数字作为输入。
请看这个 JSFiddle:http://jsfiddle.net/timrpeterson/CZZEX/6/ http://jsfiddle.net/timrpeterson/CZZEX/6/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)