基本的に電卓であるフォームがあります。方程式を入力すると、それが評価されます。また、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" />