我有一個基本上是計算器的表單。你可以輸入一個方程,它會評估它。我還有2個記憶字段(名爲m1和m2的文本框),您可以在其中鍵入內容並保存該值,然後在第一個框中鍵入表達式時,可以在公式中引用m1或m2,將使用您在記憶字段中輸入的數字進行評估。如何檢查評估名稱是否未定義
問題是,如果您嘗試在公式中引用m1或m2並且文本框爲空,則會出現未定義的錯誤。
我一直在旋轉我的車輪幾個小時試圖並進行某種檢查,如果方程式評估爲undefined,只需顯示一個彈出框。我需要這個在原始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" />
無看起來太深入這個問題,檢查以確保m1.value和m2.value在嘗試評估之前沒有未定義會有問題嗎?編輯:好吧,我現在可以看到爲什麼這不起作用。我承認這比最初出現的要複雜得多。 –
啊!!!太多的評價! – Mageek
你應該真的使用像Knockout.js這樣的庫。這太亂了。 –