Javascript使用在textfield中输入的公式执行数学运算

Javascript使用在textfield中输入的公式执行数学运算,javascript,jquery,Javascript,Jquery,我有多个输入,如a1、a2、a3等。我想做的是在另一个字段中输入公式,并相应地进行数学运算 例如:(a1+a3)*a2,并根据字段值计算总和。值和公式是动态的,因此我必须以某种方式解析公式才能执行此操作。有什么想法可以继续吗?如果表达式可以由javascript计算,您可以用相应输入字段值中的值替换变量名。然后可以对变量使用evaljavascript函数,并计算结果。例如var a=“(a1+a3)*a2”;var b=a.替换(“a1”,8).替换(“a2”,3).替换(“a3”,6”);评

我有多个输入,如a1、a2、a3等。我想做的是在另一个字段中输入公式,并相应地进行数学运算


例如:(a1+a3)*a2,并根据字段值计算总和。值和公式是动态的,因此我必须以某种方式解析公式才能执行此操作。有什么想法可以继续吗?

如果表达式可以由javascript计算,您可以用相应输入字段值中的值替换变量名。然后可以对变量使用evaljavascript函数,并计算结果。例如
var a=“(a1+a3)*a2”;var b=a.替换(“a1”,8).替换(“a2”,3).替换(“a3”,6”);评估(b)结果将如预期的那样为42。

试试这个

JS代码:

function calc() {
    var formula = document.getElementById('formula').value;
    var a1 = document.getElementById('a1').value;
    var a2 = document.getElementById('a2').value;
    var a3 = document.getElementById('a3').value;
    formula = formula.replace('a1', a1).replace('a2', a2).replace('a3', a3);

    document.getElementById('result').innerHTML = "The result is "+eval(formula);
}

你能用小提琴来张贴一个例子吗?你能展示一下你试过的示例代码吗