HTML5   发布时间:2022-04-26  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使HTML5号码字段显示尾随零?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个字段:
<input type='number' />

我想打0.50,没有它“纠正”到0.5,所以它会显示0.50。

解决方法

我已经玩了一下,看着这个规格。它说它必须是一个有效的浮点数。在 definition of a valid floating point number中有一句话引起了我的注意:

这意味着格式将始终与评估数字是一致的,然后使用JavaScript的toString数字。所以没有尾随0。

所以,你将不得不诉诸于JavaScript。这不是直接的,因为document.getElementById(‘numInput’)。value =’0.50′;仍然被修正为0.5,所以验证不会在可以防止认操作的交换处触发,它在内部触发。

这是我可以想出来的最好的解决方案…这是一个黑客,需要一些调整的鲁棒性,但希望它会做你想要的:

var numInput = document.getElementById('numInput');
numInput.addEventListener('keypress',function () {
    this.setAttribute('type','text');
});
numInput.addEventListener('click','number');
});

所以如果用户想通过键入输入数字,它会将输入类型切换为文本,但是当它们点击它时,它会将其转换回一个数字。

如果您始终希望尾随0,无论用户类型如何,那么您可以这样做:

var numInput = document.getElementById('numInput');
numInput.addEventListener('blur',function () {
    if (this.value === '') {
        return;
    }
    this.setAttribute('type','text');
    if (this.value.indexOf('.') === -1) {
        this.value = this.value + '.00';
    }
    while (this.value.indexOf('.') > this.value.length - 3) {
        this.value = this.value + '0';
    }
});
numInput.addEventListener('focus','number');
});

编辑:我认为第二个解决方案更符合用户期望的内容,但这意味着,如果用户键入0.5,它将被强制为0.50,所以这取决于这是否是你想要的。

大佬总结

以上是大佬教程为你收集整理的如何使HTML5号码字段显示尾随零?全部内容,希望文章能够帮你解决如何使HTML5号码字段显示尾随零?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。