1

Тема: Додавання форм кнопкою та врахування нових значень формулами у коді

Підкажіть, добрі люди, як зробити кнопкою додавання нових значень Va, наприклад: натиснув кнопку ("+" під першим Va, наприклад) - з'явилося Va2, натиснув ще раз кнопку "+" (під - додалося Va3. І щоб наступні формули виводили результат для потрібної кількості Va (Скільки додав Va) стільки і результатів. (формули виконуються по черзі вдруг чого з першої по останню) (остання формула (So) - автономна по суті, їй потрібна тільки Va Значення, шо відбувалось у попередніх формулах їй без різниці. (коди питався (чесно) написать коротко, в оригіналі там через глобальні змінні заведені J, t1, t2, t3)

let resultTt;
let resultStd;
let resultTt1;
let resultSa;
let resultSo;

function getGlobal() {
  return Number(document.querySelector('#JGlobal').value)
}
let J = getGlobal();
document.querySelector('#JGlobal').addEventListener('change', function() {
  J = getGlobal();

})

function getT1Global() {
  return Number(document.querySelector('#T1Global').value)
}
let t1 = getT1Global();
document.querySelector('#T1Global').addEventListener('change', function() {
  t1 = getT1Global();

})

function getT2Global() {
  return Number(document.querySelector('#T2Global').value)
}
let t2 = getT2Global();
document.querySelector('#T2Global').addEventListener('change', function() {
  t2 = getT2Global();

})

function getT3Global() {
  return Number(document.querySelector('#T3Global').value)
}
let t3 = getT3Global();
document.querySelector('#T3Global').addEventListener('change', function() {
  t3 = getT3Global();

})

function getGlobalVa() {
  return Number(document.querySelector('#VaGlobal').querySelector('input').value)
}
let va = getGlobalVa();
document.querySelector('#VaGlobal').addEventListener('change', function() {
  va = getGlobalVa();

})

// 1 формула - значення Tt:
function breakWayTt() {
  const form = document.querySelector('#formInputTt');
  resultTt = va / (3.6 * J);
  console.log(+resultTt.toFixed(4));
  const result = document.querySelector('#resultTt');
  result.innerText = `Результат: ${Number(resultTt.toFixed(4))}`;
  return +resultTt.toFixed(4);

}

// 2 формула - значення Sтд:
function breakWayStd() {
  const form = document.querySelector('#formInputStd');
  const Sj = +form[0].value;
  const L = +form[1].value;
  const C = +form[2].value;
  resultStd = Sj + va * t3 / 7.2 - L - C;
  console.log(+resultStd.toFixed(2));
  const result = document.querySelector('#resultStd');
  result.innerText = `Результат: ${Number(resultStd.toFixed(2))}`;
  return +resultStd.toFixed(2);

}

// 3 формула - значення Tt1:
function breakWayTt1() {
  resultTt1 = resultTt - (Math.sqrt(resultTt ** 2 - (2 * resultStd) / J + (t3 ** 2) / 4));
  console.log(+resultTt1.toFixed(4));
  const result = document.querySelector('#resultTt1');
  result.innerText = `Результат: ${Number(resultTt1.toFixed(4))}`;
  return +resultTt1.toFixed(4);
}

// 4 формула - значення Sa:
function breakWaySa() {
  const form = document.querySelector('#formInputSa');
  const Tp = +form[0].value;
  resultSa = (Tp - resultTt1) * (va / 3.6) + resultStd;
  console.log(+resultSa.toFixed(2));
  const result = document.querySelector('#resultSa');
  result.innerText = `Результат: ${Number(resultSa.toFixed(2))}`;

}
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Formula 1</title>
  </head>
  <body>
    <h1>При гальмуванні</h1>
    <form>
      <div>
        <label>J1:</label>
        <input type="text" name="team" id="JGlobal" list="team_list">
        <datalist id="team_list">
          <option value="6.9">6.9 м3 мокрий</option>
          <option value="7.5">7.5 м3 сухий</option>
        </datalist>
      </div>
      <form>
        <div>
          <label>t1:</label>
          <select id="T1Global">
            <option disabled>оберіть значення (треба обрать - не буде просто так працювати)</option>
            <option>1.0</option>
          </select>
        </div>
      </form>
      <form>
        <div>
          <label>t2:</label>
          <select id="T2Global">
            <option disabled>треба обрать - не буде просто так працювати</option>
            <option>0.2</option>
          </select>
        </div>
      </form>
      <form>
        <div>
          <label>t3:</label>
          <select id="T3Global">
            <option disabled>треба обрать - не буде просто так працювати</option>
            <option>0.25</option>
          </select>
        </div>
      </form>
      <form id="VaGlobal">
        <div>
          <label>Va</label>
          <input type="number">
        </div>
      </form>
      <h1>Значення Tt</h1>
      <form id="formInputTt"></form>
      <button onclick="breakWayTt()">Результат V</button>
      <h2 id="resultTt"></h2>
      <h1>Значення Sтд</h1>
      <form id="formInputStd">
        <div>
          <label>Sj</label>
          <input type="number" value="9.3">
        </div>
        <div>
          <label>L</label>
          <input type="number" value="2.52">
        </div>
        <div>
          <label>C</label>
          <input type="number" value="0.838">
        </div>
      </form>
      <button onclick="breakWayStd()">Результат Sтд</button>
      <h2 id="resultStd"></h2>
      <h1>Значення Tt1</h1>
      <form id="formInputTt1"></form>
      <button onclick="breakWayTt1()">Результат Tt1</button>
      <h2 id="resultTt1"></h2>
      <h1>Значення Sa</h1>
      <form id="formInputSa">
        <div>
          <label>Tп</label>
          <input type="number" value="1.91">
        </div>
      </form>
      <button onclick="breakWaySa()">Результат Sa</button>
      <h2 id="resultSa"></h2>
      <button onclick="breakWaySo()">Результат So</button>
      <h2 id="resultSo"></h2>
      <button onclick="startAll()">Результат Загальний</button>
      <h2 id="startAll"></h2>
  </body>
</html>

javascripthtmlhtml5