代码之家  ›  专栏  ›  技术社区  ›  Johnny 2 Tone

创建javascript/html表单计算器-简单方法?[已关闭]

  •  0
  • Johnny 2 Tone  · 技术社区  · 7 年前

    A , B , C D , E , F outA , outB outC

    我需要 奥塔 365 * 24 * A * B * C * D * 40% * 85%

    outB公司 (E + F) / outA * 12

    outC公司 显示: ((12 * 5)) - outB) / outB

    Javascript是最好的方法吗?有什么在线资源可以让这变得更容易吗?我开始使用jscalc。但它不允许我访问源代码,以便将其嵌入我的网站。这是一个高难度的项目吗?(我不擅长Javascript,更不擅长数字)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Ethan Arti Singh    7 年前

    好的,试试这个,代码应该很容易解释:

    function updateOutputs () {
        var A = parseFloat(document.getElementById('A').value) / 100;
        var B = parseFloat(document.getElementById('B').value) / 100;
        var C = parseFloat(document.getElementById('C').value);
        var D = parseFloat(document.getElementById('D').value);
        var E = parseFloat(document.getElementById('E').value);
        var F = parseFloat(document.getElementById('F').value);
    
        var outA = 365 * 24 * A * B * C * D * 0.40 * 0.85;
        var outB = ((E + F) / outA) * 12;
        var outC = ((12 * 5) - outB) / outB;
    
        document.getElementById('outA').value = ((isNaN(outA)) ? '' : outA.toFixed(2));
        document.getElementById('outB').value = ((isNaN(outB)) ? '' : outB.toFixed(1));
        document.getElementById('outC').value = ((isNaN(outC)) ? '' : Math.round(outC * 100) + '%');
    }
    updateOutputs();
    A: <input id="A" onchange="updateOutputs();" value="60" /><br>
    B: <input id="B" onchange="updateOutputs();" value="20" /><br>
    C: <input id="C" onchange="updateOutputs();" value="5" /><br>
    D: <input id="D" onchange="updateOutputs();" value="4" /><br>
    E: <input id="E" onchange="updateOutputs();" value="5000" /><br>
    F: <input id="F" onchange="updateOutputs();" value="2000" /><br>
    outA: <input id="outA" readonly /><br>
    outB: <input id="outB" readonly /><br>
    outC: <input id="outC" readonly /><br>