强制数字输入为零

时间:2013-12-19 14:51:10

标签: html html5 number-formatting

我正在编写一个警报网络应用程序。我有两个数字输入,一个用于小时,一个用于分钟。因此,当我使用键盘箭头时,它们从0到23/59。是否有HTML本地方式使它们从00(01,02等)转到23/59?

我只是担心UI方面,因为我的JS管理缺失的0无论如何。

编辑 - 根据要求:

我有什么:

Current

我想要的是什么:

Objective

我不想从0,1,2到59,而是在数字小于10(00,01,02到59)时自动获得前导0。

2 个答案:

答案 0 :(得分:7)

我用它来根据需要添加零:

<script>
  function leadingZeros(input) {
    if(!isNaN(input.value) && input.value.length === 1) {
      input.value = '0' + input.value;
    }
  }
</script>

我只是在输入的各种事件上称之为对我来说最好的方式,例如:

<input type="number"
       value="00"
       onchange="leadingZeros(this)"
       onkeyup="leadingZeros(this)"
       onclick="leadingZeros(this)" />

这不是一个理想的解决方案,主要是因为当用户更改数字时会有轻微的视觉变化,并且零被预先设置,但它适用于我:)

编辑:忘记提及,我很感谢没有javascript的原生解决方案的答案,但我想为通过谷歌搜索登陆的人提供一些东西。

答案 1 :(得分:5)

我担心除非使用Select标签,否则没有原生HTML方法可以做到这一点。如果您正在使用文本输入,则必须通过javascript在10个第一个值上添加前导0。