2016-04-01 53 views
5

我有兩個代表小時和分鐘的input字段。顯示輸入數字字段上的前導零點

<input type="number" min="0" max="24" step="1" value="00" class="hours"> 
 
<input type="number" min="0" max="0.60" step="0.01" value="00" class="minutes">

時顯示爲:

0:0 

或者:

5:3 

有沒有顯示它的方式:

00:00 

或者:

05:03 

即在24小時的數據格式(人建議之前,我不能用TYPE = 「時間」)。

+0

看看這個線程http://stackoverflow.com/questions/14638018/current-time-formatting-with-javascript。這不完全是你在做什麼,但JavaScript的格式化小時和分鐘應該工作。 –

+1

重複? http://stackoverflow.com/questions/20684737/force-leading-zero-in-number-input –

+0

其實這個:http://stackoverflow.com/questions/6312993/javascript-seconds-to-time-string-with -format -hhmmss –

回答

4

您可以添加一個onchange屬性到您的輸入標籤,它調用一個javascript函數。

<script> 
     function MyFunction() { 
      var minuteValue = document.getElementById("minutes").value; 
      if (minuteValue.toString().length < 2) { 
       minuteValue = "0" + minuteValue; 
      } 
      alert(minuteValue); 
     } 
    </script> 

    <input id="minutes" onchange="MyFunction()"/> 
0
function formatNums(num){ 
    if (nums < 10){ 
    return "0" + num; 
    } 
} 

var formattedHours = formatNums(hours); 
var formattedMinutes = formatNums(minutes); 

注:此方法使用type="text"所以一定,如果需要轉換回一個數字。 Number(formattedHours);

+0

這沒有任何意義。你不能有一個前面的零的數字。 – Andy

+1

@Andy在顯示數字時使用文本,並在需要用於計算時將其轉換爲數字 –