输入数字字段大于0?

时间:2017-06-16 13:22:58

标签: javascript jquery html

是否可以在输入数字字段上设置最小值,使其大于0,但用户仍然可以输入0.01,例如?

我已经尝试过了,但它还没有工作......

<input required="" name="amount" type="text" min="0.01" value="0.00" />

4 个答案:

答案 0 :(得分:3)

type="number"min="0"一起使用(您还可以使用step="0.01"属性来限制可以设置值的增量):

&#13;
&#13;
<input required="" name="amount" type="number" min="0" step="0.01" value="0.01" />
&#13;
&#13;
&#13;

答案 1 :(得分:0)

代码type="text" 属性min适用于numberrange&amp; date种类型。 试试这个:

<input required="" name="amount" type="number" min="0.01" value="0.01" />

答案 2 :(得分:0)

一个简单的解决方案是,将input事件添加到您的。我给了那个输入的id。如果输入小于0.01,则重置它。

还要使用step来控制精度。

此外,情况可能是input = 0.0111,因此在else语句中我们执行此操作:Math.round(+this.value * 100)/100;+将强制变量成为数字类型并使用Math.round获取输入舍入到两位小数)

&#13;
&#13;
document.getElementById('test').addEventListener('change', function (e) {
    if(this.value < 0.01){
      this.value = '';
    } else {
      this.value = Math.round(+this.value * 100)/100;
    }
});
&#13;
<input required="" id="test" name="amount" type="number" step="0.01" value="0.00" />
&#13;
&#13;
&#13;

答案 3 :(得分:0)

试试这个。

<input required="" name="amount" id="amount" type="number" min="0.01" 
value="0.00" onblur="return validate(this);" />
    <script type="text/javascript">
function validate(amount){
    if(parseFloat(amount.value)<=0){
        amount.value = "";
        return false;
    }
    return true;
}
</script>