Объединение двух рабочих скриптов в один на Java
Доброго дня. Объединил два рабочих скрипта в один. Первый скрипт задает числа в секундах при нажатии кнопок и сумирует выдавая результат в поле ID=result.
Второй скрипт берет число из поля id="result" и переводит его в часы и дни выдавая результат в поле id="res" автоматически.
Второй скрипт срабатывает если в поле id="result" вводить число в ручную, если же в поле id="result" появляется число из первого скрипта тогда второй скрипт не срабатывает. Как автоматизировать процесс чтобы при нажатии даже одной кнопки появлялся конечный результат в днях и часах в поле id="res"
<html>
<head>
<style>
.pressed {
color: blue;
}
</style>
</head>
<body>
<input id="b" type="text" value="10"> <input type="button" value="result+b" onclick="addition(this);"><br>
<input id="c" type="text" value="20"> <input type="button" value="result+c" onclick="addition(this);"><br>
<input id="d" type="text" value="30"> <input type="button" value="result+d" onclick="addition(this);"><br>
<form>
<input type="text" id="result" value="0" onkeyup="document.getElementById('res').value=her( this)">
<input type="text" id="res" onkeyup="document.getElementById('time').value=her (this)">
</form>
<script type="text/javascript">
function addition(btn) {
var res = document.getElementById("result");
var result = parseInt(res.value);
var b = parseInt(btn.previousElementSibling.value);
if (isNaN(result) === true) {
a = parseInt(document.getElementById("result").value);
if (isNaN(result) === true)
result = 0;
}
if (isNaN(b) === true) b = 0;
res.value = (btn.classList.contains('pressed')) ? result - b : result + b;
btn.classList.toggle('pressed');
}
function her(b){
a=b.value;
i=0;
dv1='';dv2='';probel='';
while(a.substr(i,1)){
if(a.substr(0,1)==' '){
a=a.substr(1,100);
continue;
}
switch(a.substr(i,1)){
case ' ':{probel=i;break;}
case ':':{if(!dv1)dv1=i;else dv2=i;break;}
}
i++;
}
len=i;
if(!dv1&&!dv2){
d=Math.floor(a/86400);
a-=86400*d;
h=Math.floor(a/3600);
a-=3600*h;
m=Math.floor(a/60);if(m<10){m='0'+m}
s=a-60*m;if(s<10){s='0'+s}
return d+" "+h+":"+m+":"+s;
}
else{
if(probel)d=a.substr(0,probel)+' ';else d=0;
h=a.substr(probel+1,dv1-probel-1);
m=a.substr(dv1+1,dv2-dv1-1);
s=a.substr(dv2+1,len-dv2-1);
sec=d*86400;
sec+=h*3600;
sec+=m*60;
sec+=s*1;
return sec;
}
}
</script>
</body>
</html>
Последний раз редактировалось Алекс84, 21.03.2022 в 04:19.
Причина: отформатировал код по просьбе администрации
|