Принудително водеща нула при въвеждане на число

Пиша уеб приложение за аларма. Имам два входа на числа, един за часовете, един за минутите. Така, когато използвам стрелките на клавиатурата си, те преминават от 0 до 23/59. Има ли собствен HTML начин да ги накарате да преминат от 00 (01,02 и т.н.) към 23/59 вместо това?

Притеснявам се само за аспектите на потребителския интерфейс, тъй като моят JS така или иначе управлява липсващата 0.

РЕДАКТИРАНЕ - Както е поискано:

Какво имам:

Текущо

Какво искам :

Цел

Вместо да преминавам от 0,1,2 до 59, бих искал автоматично да имам водеща 0, когато числото е по-малко от 10 (00,01,02 до 59).


person Simon    schedule 19.12.2013    source източник
comment
От въпроса ви не става ясно какво питате. Може би бихте могли да съставите JSFiddle или да споделите връзка, за да можем да видим с какво работите?   -  person johnkavanagh    schedule 19.12.2013
comment
Моля, изяснете конкретния си проблем или добавете допълнителни подробности, за да подчертаете точно това, от което се нуждаете. Както е написано в момента, трудно е да се каже какво точно питате.   -  person Mohammad Areeb Siddiqui    schedule 19.12.2013
comment
Не искате да манипулирате въвеждането с JavaScript, а само с естествен HTML?   -  person KungWaz    schedule 19.12.2013
comment
Няма естествен начин да го направите, трябва да тествате дали числото е по-малко от 10 и да добавите низа „0“ преди цифрата, ако е вярно.   -  person L105    schedule 19.12.2013


Отговори (2)


Страхувам се, че няма собствен HTML начин да се направи това, освен ако не се използва Select таг. Ако използвате въвеждане на текст, трябва да добавите водещата 0 към първите 10 стойности чрез javascript.

person Guillaume Raymond    schedule 19.12.2013

Използвам това само за добавяне на нули, ако е необходимо:

<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, но исках да осигуря нещо за хората, които кацат тук чрез търсене в Google.

person apbarratt    schedule 06.10.2017
comment
Вашият отговор се оценява! Благодаря, че го публикувахте! - person ReinstateMonica3167040; 01.01.2019