Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Подсчет времени автоматически (https://javascript.ru/forum/dom-window/61130-podschet-vremeni-avtomaticheski.html)

alexgrenn 05.02.2016 17:28

Подсчет времени автоматически
 
Здравствуйте. Никак не могу разобраться и переделать скрипт. Надеюсь на вашу помощь.
Вобщем есть два поля input куда забивается время а в третьем поле должен появляться результат. (сразу). Т.е. ввели 12:00 и 14:00 в третьем поле должно появится 2:00. (14:00 - 12:00 = 2:00)

function sumTime()
{   var t1 = document.getElementById('inp2').value;
    var t2 = document.getElementById('inp1').value;
    var resMin = 0, resSec = 0;
    
    var arr1 = t1.replace('0','').split(":");
    var arr2 = t2.replace('0','').split(":");
    resMin = parseInt(arr1[0])-parseInt(arr2[0]);
    resSec = parseInt(arr1[1])-parseInt(arr2[1]);
   
    if(resMin < 10) resMin = '0'+resMin.toString();
    if(resSec < 10) resSec = '0'+resSec.toString();
    document.getElementById('time3').innerHTML = resMin + ":" + resSec;
}


<body>

<input type="button" value=" = " onclick="sumTime();" /> <span id="time3">&nbsp;</span>
</body>


В коде все работает но приходится нажимать на кнопку что бы все посчиталось а нужно автоматом без нажатия.

Mess4me 05.02.2016 17:32

alexgrenn,
поменяйте на onchange
<body>

<input type="button" value=" = " onchange="sumTime();" /> <span id="time3">&nbsp;</span>
</body>

Dilettante_Pro 05.02.2016 18:45

Mess4me,
Цитата:

Сообщение от Mess4me
alexgrenn,
поменяйте на onchange

только не в button, а в input, где исходные значения - button по onclick нормально работает

alexgrenn 06.02.2016 20:33

Спасибо огромное реально помогло. Еще один маленький вопрос.
Значит инпут я поправил получилось так
<input type="text" id="time1"  value="12:20" onchange="sumTime();" maxlength="5" size="4" /> + 

<input type="text" id="time2" onchange="sumTime();"  value="13:37" maxlength="5" size="4" /> 
 
<span id="time3" ></span>


Но хотелось бы перевести вывод не в span а в input . Как это возможно сделать.

Dilettante_Pro 06.02.2016 20:44

Переделать span в input c тем же id. InnerHTML заменить на value.

alexgrenn 06.02.2016 21:21

Большое спасибо! Всё работает :)


Часовой пояс GMT +3, время: 12:55.