我有一个数字类型的输入框。我需要的是限制用户在小数点后输入不超过 6 位。我搜索了一些,但我得到的只是max
andstep
属性。是否可以使用任何 html 属性?也可以使用 javascript 解决方案,但最好使用 html 解决方案。
问问题
777 次
1 回答
2
有了今天的 HTML 支持,在我们拥有pattern 属性之前,没有 JavaScript 就无法做到。
这是一个基于 JavaScript 的解决方案,可防止任何错误输入:
var lastValue='';
yourinput.onkeyup = function(e) {
if (!/^\d*\.?\d{0,6}$/.test(this.value)){
this.value = lastValue;
}
lastValue = this.value;
}
除了阻止输入,您还可以简单地显示一条消息:
<input id=yourinput pattern="\d+">
<span id=bad style="display:none;color:red">BAD</span>
document.getElementById('yourinput').onkeyup = function(e) {
document.getElementById('bad').style.display =
/^\d*\.?\d{0,6}$/.test(this.value) ? 'none' : 'block';
}
于 2013-04-04T06:45:52.943 回答