传递用于计算的HTML输入表单内容

Passing HTML input form contents for calculation

本文关键字:输入 表单 HTML 用于 计算      更新时间:2023-09-26

我正在尝试制作一个简单函数y=k*x+b的图。
用户在输入字段中输入一个函数,例如:

1/3 * x + 3

,当他/她单击提交按钮时,JavaScript函数应该将这个输入值作为实际的计算序列,并为其分配一个变量(我在这里只需要获得某些y值,因此x变量有其限制):

for (x=1;x<=40;x++)
{
    result = window.document.menu.inputFunction.value;
}

上面的代码不起作用。难怪,我在这方面只是个初学者。然而,这真的比看起来难吗,还是我错过了什么?我曾经考虑过尝试正则表达式来解决这个问题,但是一想到使用它们我就头疼。

任何想法?

你可以eval它:

result = eval(window.document.menu.inputFunction.value);

这种方法显然有一些限制:

  • 用户必须输入一个有效的javascript表达式
  • 用户必须使用x作为变量名,因为这是你在循环中使用的
  • 代码是脆弱的,因为用户可以输入和执行任何他喜欢的javascript表达式

对于更健壮的解决方案,您可以考虑使用javascript数学表达式求值器。