2015-12-29 19 views
1

我使用下面的代碼來實現在我的網站計算器:在計算形式使用。點擊代替的onClick的

function addChar(input, character) { 
 
    if (input.value == null || input.value == "0") 
 
    input.value = character 
 
    else 
 
    input.value += character 
 
} 
 

 
function cos(form) { 
 
    form.display.value = Math.cos(form.display.value); 
 
} 
 

 
function sin(form) { 
 
    form.display.value = Math.sin(form.display.value); 
 
} 
 

 
function tan(form) { 
 
    form.display.value = Math.tan(form.display.value); 
 
} 
 

 
function sqrt(form) { 
 
    form.display.value = Math.sqrt(form.display.value); 
 
} 
 

 
function ln(form) { 
 
    form.display.value = Math.log(form.display.value); 
 
} 
 

 
function exp(form) { 
 
    form.display.value = Math.exp(form.display.value); 
 
} 
 

 
function deleteChar(input) { 
 
    input.value = input.value.substring(0, input.value.length - 1) 
 
} 
 

 
function changeSign(input) { 
 
    if (input.value.substring(0, 1) == "-") 
 
    input.value = input.value.substring(1, input.value.length) 
 
    else 
 
    input.value = "-" + input.value 
 
} 
 

 
function compute(form) { 
 
    form.display.value = eval(form.display.value) 
 
} 
 

 
function square(form) { 
 
    form.display.value = eval(form.display.value) * eval(form.display.value) 
 
} 
 

 
function checkNum(str) { 
 
    for (var i = 0; i < str.length; i++) { 
 
    var ch = str.substring(i, i + 1) 
 
    if (ch < "0" || ch > "9") { 
 
     if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "." && ch != "(" && ch != ")") { 
 
     alert("invalid entry!") 
 
     return false 
 
     } 
 
    } 
 
    } 
 
    return true 
 
}
<FORM NAME="sci-calc"> 
 
    <TABLE CELLSPACING="0" CELLPADDING="1"> 
 
    <TR> 
 
     <TD COLSPAN="5" ALIGN="center"> 
 
     <INPUT NAME="display" VALUE="0" SIZE="28" MAXLENGTH="25"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" exp " ONCLICK="if (checkNum(this.form.display.value)) { exp(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 7 " ONCLICK="addChar(this.form.display, '7')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 8 " ONCLICK="addChar(this.form.display, '8')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 9 " ONCLICK="addChar(this.form.display, '9')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" / " ONCLICK="addChar(this.form.display, '/')"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" ln " ONCLICK="if (checkNum(this.form.display.value)) { ln(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 4 " ONCLICK="addChar(this.form.display, '4')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 5 " ONCLICK="addChar(this.form.display, '5')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 6 " ONCLICK="addChar(this.form.display, '6')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" * " ONCLICK="addChar(this.form.display, '*')"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" sqrt " ONCLICK="if (checkNum(this.form.display.value)) { sqrt(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 1 " ONCLICK="addChar(this.form.display, '1')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 2 " ONCLICK="addChar(this.form.display, '2')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 3 " ONCLICK="addChar(this.form.display, '3')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" - " ONCLICK="addChar(this.form.display, '-')"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" sq " ONCLICK="if (checkNum(this.form.display.value)) { square(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" 0 " ONCLICK="addChar(this.form.display, '0')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" . " ONCLICK="addChar(this.form.display, '.')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" +/- " ONCLICK="changeSign(this.form.display)"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" + " ONCLICK="addChar(this.form.display, '+')"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" ( " ONCLICK="addChar(this.form.display, '(')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE="cos" ONCLICK="if (checkNum(this.form.display.value)) { cos(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" sin" ONCLICK="if (checkNum(this.form.display.value)) { sin(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" tan" ONCLICK="if (checkNum(this.form.display.value)) { tan(this.form) }"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE=" ) " ONCLICK="addChar(this.form.display, ')')"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE="clear" ONCLICK="this.form.display.value = 0 "> 
 
     </TD> 
 
     <TD ALIGN="center" COLSPAN="3"> 
 
     <INPUT TYPE="button" VALUE="backspace" ONCLICK="deleteChar(this.form.display)"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" VALUE="enter" NAME="enter" ONCLICK="if (checkNum(this.form.display.value)) { compute(this.form) }"> 
 
     </TD> 
 
    </TR> 
 
    </TABLE> 
 
</FORM>

我想知道是否有可能改變這些輸入這樣它們就不包含內聯JavaScript(我的理解是.click比onClick事件處理程序更受歡迎)?我不確定如何在表單的框架內這麼做。如果在這種情況下可能,那看起來會怎樣?

+0

- 沒有真正使任何區別 – Quentin

+0

HTTPS://developer.mozilla。org/en-US/docs/Web/API/EventTarget/addEventListener – Quentin

+0

我建議使用javascript中每個按鈕的'value'屬性。與其單獨指定每個按鈕需要附加到顯示器上的內容,只需在其中任何一個按鈕上註冊點擊事件,並追加所點擊按鈕的「值」即可。 – Sinstein

回答

3

.click實際上並不是JavaScript本身的一部分。這就是所謂的jQuery

一個JavaScript庫的一部分,如果你使用jQuery,這是你的代碼應該是什麼樣子:

function addChar(input, character) { 
 
    if (input.value == null || input.value == "0") 
 
    input.value = character 
 
    else 
 
    input.value += character 
 
} 
 

 
function cos(form) { 
 
    form.display.value = Math.cos(form.display.value); 
 
} 
 

 
function sin(form) { 
 
    form.display.value = Math.sin(form.display.value); 
 
} 
 

 
function tan(form) { 
 
    form.display.value = Math.tan(form.display.value); 
 
} 
 

 
function sqrt(form) { 
 
    form.display.value = Math.sqrt(form.display.value); 
 
} 
 

 
function ln(form) { 
 
    form.display.value = Math.log(form.display.value); 
 
} 
 

 
function exp(form) { 
 
    form.display.value = Math.exp(form.display.value); 
 
} 
 

 
function deleteChar(input) { 
 
    input.value = input.value.substring(0, input.value.length - 1) 
 
} 
 

 
function changeSign(input) { 
 
    if (input.value.substring(0, 1) == "-") 
 
    input.value = input.value.substring(1, input.value.length) 
 
    else 
 
    input.value = "-" + input.value 
 
} 
 

 
function compute(form) { 
 
    form.display.value = eval(form.display.value) 
 
} 
 

 
function square(form) { 
 
    form.display.value = eval(form.display.value) * eval(form.display.value) 
 
} 
 

 
function checkNum(str) { 
 
    for (var i = 0; i < str.length; i++) { 
 
    var ch = str.substring(i, i + 1) 
 
    if (ch < "0" || ch > "9") { 
 
     if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "." && ch != "(" && ch != ")") { 
 
     alert("invalid entry!") 
 
     return false 
 
     } 
 
    } 
 
    } 
 
    return true 
 
} 
 

 
$('#button-exp').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    exp(this.form) 
 
    } 
 
}); 
 

 
$('#button-divide').click(function() { 
 
    addChar(this.form.display, '/') 
 
}); 
 

 
$('#button-ln').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    ln(this.form) 
 
    } 
 
}); 
 

 
$('#button-sqrt').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    sqrt(this.form) 
 
    } 
 
}); 
 

 
$('#button-minus').click(function() { 
 
    addChar(this.form.display, '-') 
 
}); 
 

 
$('#button-multiply').click(function() { 
 
    addChar(this.form.display, '*') 
 
}); 
 

 
$('#button-square').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    square(this.form) 
 
    } 
 
}); 
 

 
$('#button-dot').click(function() { 
 
    addChar(this.form.display, '.') 
 
}); 
 

 
$('#button-plus').click(function() { 
 
    addChar(this.form.display, '+') 
 
}); 
 

 
$('#button-pos').click(function() { 
 
    changeSign(this.form.display) 
 
}); 
 

 
$('#button-cos').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    cos(this.form) 
 
    } 
 
}); 
 

 
$('#button-sin').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    sin(this.form) 
 
    } 
 
}); 
 

 
$('#button-tan').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    tan(this.form) 
 
    } 
 
}); 
 

 
$('#button-cb').click(function() { 
 
    addChar(this.form.display, ')') 
 
}); 
 

 

 
$('#button-clear').click(function() { 
 
    this.form.display.value = 0 
 
}); 
 

 

 
$('#button-bsp').click(function() { 
 
    deleteChar(this.form.display) 
 
}); 
 

 
$('#button-enter').click(function() { 
 
    if (checkNum(this.form.display.value)) { 
 
    compute(this.form) 
 
    } 
 
}); 
 

 
$.each([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], function(i, e) { 
 
    $('#button-' + e).click(function() { 
 
    addChar(this.form.display, e); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<FORM NAME="sci-calc"> 
 
    <TABLE CELLSPACING="0" CELLPADDING="1"> 
 
    <TR> 
 
     <TD COLSPAN="5" ALIGN="center"> 
 
     <INPUT NAME="display" VALUE="0" SIZE="28" MAXLENGTH="25"> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID='button-exp' VALUE=" exp "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-7" VALUE=" 7 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-8" VALUE=" 8 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-9" VALUE=" 9 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-divide" VALUE=" / "> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-ln" VALUE=" ln "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-4" VALUE=" 4 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-5" VALUE=" 5 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-6" VALUE=" 6 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-multiply" VALUE=" * "> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-sqrt" VALUE=" sqrt "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-1" VALUE=" 1 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-2" VALUE=" 2 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-3" VALUE=" 3 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-minus" VALUE=" - "> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-square" VALUE=" sq "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-0" VALUE=" 0 "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-dot" VALUE=" . "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-pos" VALUE=" +/- "> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-plus" VALUE=" + "> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-ob" VALUE=" ( " ONCLICK="addChar(this.form.display, '(')"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-cos" VALUE="cos"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-sin" VALUE=" sin"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-tan" VALUE=" tan"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-cb" VALUE=" ) "> 
 
     </TD> 
 
    </TR> 
 
    <TR> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-clear" VALUE="clear"> 
 
     </TD> 
 
     <TD ALIGN="center" COLSPAN="3"> 
 
     <INPUT TYPE="button" ID="button-bsp" VALUE="backspace"> 
 
     </TD> 
 
     <TD ALIGN="center"> 
 
     <INPUT TYPE="button" ID="button-enter" VALUE="enter" NAME="enter" ONCLICK=""> 
 
     </TD> 
 
    </TR> 
 
    </TABLE> 
 
</FORM>

如果你想使用純JavaScript做,做這個:

document.querySelector('#button-sin').addEventListener(function() { 
    if (checkNum(this.form.display.value)) { 
    sin(this.form) 
    } 
}); 

當然,這是可能的,甚至更多地改善,但這符合你的編輯。

+1

謝謝!我應該指定jQuery,因爲這正是我所希望的! – newbie2015

+0

一個快速後續問題...如果單擊按鈕時字符串長度爲1,則退格函數將清除顯示。在那種情況下,我怎樣才能產生0? – newbie2015

-1

ü需要在JavaScript

function cos(form) { 
    form.display.value = Math.cos(form.display.value); 
} 
$(document).ready(function(){ 
    $("#myControl").click($('#idOfDisplayControl')); 
}); 
+0

問題中沒有jQuery。 –

+0

這個功能你說的abt是jquery的一部分,否則使用onclick –

1

老實說,我不會理會太多ID添加到每個輸入控件像

<input id="myControl"> 

然後。

雖然是的,一般來說,你應該保持你的JavaScript的JavaScript和你的HTML在HTML中,沒有絕對需要這樣做,如果它的作品...爲什麼要改變它?

不過,我想也許建議是這樣的:

與定義你的按鈕:

<button type="button" data-value="1">1</button> 
<button type="button" data-function="sin">sin</button> 

然後,定義事件處理程序的時候,你可以做你的形式:

form.onclick = function(e) { 
    e = e || window.event; 
    var t = e.srcElement || e.target; 
    while(t.nodeName != "BUTTON" && t != this) t = t.parentNode; 
    if(t.nodeName == "BUTTON") { 
     // so we have a button... 
     if(t.getAttribute("data-value")) { 
      addChar(t.getAttribute("data-value")); 
     } 
     if(t.getAttribute("data-function")) { 
      form.display.value = Math[t.getAttribute("data-function")](form.display.value); 
     } 
     // define more button types here 
    } 
}; 

這樣,您只有一個事件處理程序,與每個按鈕都有一個事件處理程序相比,這通常是一個好主意。

0

的工作JS的解決方案: 「一種形式的框架內」 unobtrusive JavaScript with onclick Delegation

HTML

<FORM NAME="sci-calc"> 
<TABLE CELLSPACING="0" CELLPADDING="1"> 
<TR> 
<TD COLSPAN="5" ALIGN="center"><INPUT id="results_input" NAME="display" VALUE="0" SIZE="28" MAXLENGTH="25"></TD> 
</TR> 
<TR> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" exp "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 7 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 8 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 9 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" / "></TD> 
</TR> 
<TR> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" ln "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 4 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 5 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 6 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" * "></TD> 
</TR> 
<TR> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" sqrt "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 1 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 2 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 3 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" - "></TD> 
</TR> 
<TR> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" sq "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 0 "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" . "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" +/- "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" + "></TD> 
</TR> 
<TR> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" ( "></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE="cos"></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" sin"></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" tan"></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" ) "></TD> 
</TR> 
<TR> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE="clear"></TD> 
<TD ALIGN="center" COLSPAN="3"><INPUT TYPE="button" VALUE="backspace"></TD> 
<TD ALIGN="center"><INPUT TYPE="button" VALUE="enter" NAME="enter"></TD> 
</TR> 
</TABLE> 
</FORM> 

的Javascript

function setOnClick() { 

    document.onclick = function(e) { 
    var resultsInput = document.getElementById("results_input"); 
    var target = e.target; 
    if (target.tagName === "INPUT") { 
     var trimmedValue = target.value.trim(); 

      switch (true){ 
     case trimmedValue == "enter": 
      if (checkNum(resultsInput)) { compute(resultsInput) } 
     break; 
     case trimmedValue == "clear": 
      resultsInput.value = 0; 
     break; 
     case trimmedValue == "backspace": 
      deleteChar(resultsInput) 
     break; 
     case (trimmedValue === "ln" || trimmedValue === "exp" || trimmedValue === "sq" || trimmedValue === "sqrt" || trimmedValue === "cos" || trimmedValue === "tan"): 
      if (checkNum(resultsInput)) { 
      if (trimmedValue === "ln") { 
       trimmedValue = "log"; 
      } 
      else if (trimmedValue === "sq") { 
       resultsInput.value = eval(resultsInput.value) * eval(resultsInput.value) 
       break; 
      } 
      resultsInput.value = eval(Math[trimmedValue](resultsInput.value)); 
      } 
     break; 
       default: 
      addChar(resultsInput, target.value);  
     break; 
     } 
    } 
    } 
} 

function addChar(input, character) { 
    if(input.value == null || input.value == "0") 
     input.value = character.trim(); 
    else 
     input.value += character.trim(); 
} 


function deleteChar(input) { 
    input.value = input.value.substring(0, input.value.length - 1) 
} 

function changeSign(input) { 
    if(input.value.substring(0, 1) == "-") 
     input.value = input.value.substring(1, input.value.length) 
    else 
     input.value = "-" + input.value 
} 

function compute(resultsInput) { 
    resultsInput.value = eval(resultsInput.value) 
} 

function checkNum(str) { 
console.log("str: ",str); 
    for (var i = 0; i < str.length; i++) { 
     var ch = str.substring(i, i+1) 
     if (ch < "0" || ch > "9") { 
      if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "." 
      && ch != "(" && ch!= ")") { 
      alert("invalid entry!") 
      return false 
      } 
     } 
    } 
    return true 
} 

setOnClick(); 
+0

參考信用在交換機中的多個案例 - http://stackoverflow.com/questions/5464362/javascript-using-a-condition-in-switch-case/9​​055603#9055603 –