我有一个基本上是计算器的表格。你可以输入一个方程,它会计算它。我还有 2 个内存字段(名为 m1 和 m2 的文本框),您可以在其中输入一些内容,它将保存该值,然后当您在第一个框中输入表达式时,您可以在等式中引用 m1 或 m2 它将使用您在内存字段中输入的数字进行评估。
问题是如果您尝试在方程式中引用 m1 或 m2 并且文本框为空白,则会出现未定义的错误。
我已经旋转了几个小时来尝试进行某种检查,如果等式被评估为未定义,则只显示一个弹出框。我在原始 javascript中需要这个。任何帮助表示赞赏。
function displayResult(thisElement)
{
thisElement.value = eval(thisElement.value); <!-- this line throws the error if you use m1 and no m1 is defined, m2 and no m2 is defined, etc -->
if(!(thisElement.value>0))
{
thisElement.value=0;
}
}
function mem(v)
{
v.value = eval(v.value);
eval(v.name+"="+v.value);
}
<input id="calcFormula" name="calculate" size="40" />
<input type="submit" value="Calculate" onclick="displayResult(this.form.calculate);" />
<input name="m1" id="m1" size="12" onchange="mem(this);" value="0" />
<input name="m2" id="m2" size="12" onchange="mem(this);" value="0" />