How do I force seconds to appear on an HTML5 “time

2019-03-09 08:15发布

When I use Javascript to set the value of an HTML5 "time" object, like this:

document.getElementById("settime").value = "13:24:59";

It will show a time control with "13:24:59" on it, and I can change everything. But if I do this:

document.getElementById("settime").value = "13:25:00";

It hides the seconds, showing just "13:25" with no seconds. How do I force the "00" seconds to appear in this case?

(This is in Google Chrome, by the way.)

1条回答
Animai°情兽
2楼-- · 2019-03-09 08:52

Set the step attribute.

Ex: <input id="settime" type="time" step="1" />

jsFiddle example

A note about the step attribute:

The step attribute can be used with a numerical input value to dictate how granular the values you can input are. For example, you might want users to enter a particular time, but only in 30 minute increments. In this case, we can use the step attribute, keeping in mind that for time inputs the value of the attribute is in seconds. For example, a 30 minute increment would have a step value of 1800. <input type="time" step="1800">

查看更多
登录 后发表回答