Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2022, 11:24
Новичок на форуме
Отправить личное сообщение для Алекс84 Посмотреть профиль Найти все сообщения от Алекс84
 
Регистрация: 20.03.2022
Сообщений: 1

Объединение двух рабочих скриптов в один на 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. Причина: отформатировал код по просьбе администрации
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2022, 11:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Алекс84,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конфликт двух скриптов! Помогите! gizol jQuery 26 27.12.2017 18:37
Как объединить несколько похожих скриптов в один? teragalaxy Элементы интерфейса 8 11.02.2014 15:37
Вместо двух скриптов работает только один (а иногда ни один не работает) vladly Общие вопросы Javascript 2 22.11.2012 15:33
Подключение скриптов только один раз IndigoHollow Общие вопросы Javascript 3 03.04.2012 09:51
Вопрос по jquery. Как запретить один из скриптов при клике vuler Общие вопросы Javascript 1 07.03.2012 22:35