2016-10-15 133 views
1

我做了一個文檔,點擊CLR按鈕應調用calc.js文件中的函數clear(),並將表格中標記爲「disp」的單元格的innerHTML設置爲80085。它沒有按照我原先的想法工作。爲什麼它不起作用?以下是我的代碼。爲什麼我的javascript按鈕點擊不起作用?

function clear() { 
 
    var disp = document.getElementById('disp'); 
 
    disp.innerHTML = "80085"; 
 
} 
 

 
//function number('s') { 
 
// 
 
//} 
 
//the number function has yet to be implemented
table { 
 
    border-collapse: collapse; 
 
} 
 

 
#display { 
 
    background-color: lightgray; 
 
} 
 

 
button { 
 
    width: 100%; 
 
    background-color: white; 
 
    border: 1px solid #008CBA; 
 
    border-radius: 2px; 
 
    transition-duration: 0.1s; 
 
} 
 

 
button:hover { 
 
    background-color: #008CBA; 
 
    color: white; 
 
} 
 

 
button:active { 
 
    background-color: #007ea7; 
 
    border: 1px solid #007ea7; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <script src="calc.js" type="text/javascript"></script> 
 
    <link href="calc.css" rel="stylesheet" type="text/css" /> 
 
    <meta charset="utf-8"> 
 
    <title>Simple Calculator</title> 
 
    </head> 
 

 
    <body> 
 
    <table> 
 
     <tr> 
 
     <td colspan="3" id="disp">0</td> 
 
     <td><button onclick="clear();">CLR</button></td> 
 
     </tr> 
 

 
     <tr> 
 
     <td><button onclick="number("7");">7</button></td> 
 
     <td><button onclick="number("8");">8</button></td> 
 
     <td><button onclick="number("9");">9</button></td> 
 
     <td><button onclick="">/</button></td> 
 
     </tr> 
 

 
     <tr> 
 
     <td><button onclick="number("4");">4</button></td> 
 
     <td><button onclick="number("5");">5</button></td> 
 
     <td><button onclick="number("6");">6</button></td> 
 
     <td><button onclick="">*</button></td> 
 
     </tr> 
 

 
     <tr> 
 
     <td><button onclick="number("1");">1</button></td> 
 
     <td><button onclick="number("2");">2</button></td> 
 
     <td><button onclick="number("3");">3</button></td> 
 
     <td><button onclick="">-</button></td> 
 
     </tr> 
 

 
     <tr> 
 
     <td><button onclick="number("7");">0</button></td> 
 
     <td><button onclick="">.</button></td> 
 
     <td><button onclick="">=</button></td> 
 
     <td><button onclick="">+</button></td> 
 
     </tr> 
 
    </table> 
 
    </body> 
 

 
</html>

所有和拒絕HEP將不勝感激!

+0

檢查您的Web控制檯,如果您有一些錯誤.. – scaisEdge

+1

可能重複[是「清除」在Javascript中的保留字?](http://stackoverflow.com/questions/7165570/is-clear-a-保留字在JavaScript中) – Frxstrem

+0

由其他用戶指出明確是保留字,所以你goota改變爲你的功能別的東西....也注意:你在調用函數onclick與雙引號也使用相同的參數會導致進一步的問題,所以嘗試像onclick =「號碼('7')」 – RohitS

回答

1

Working fiddle

首先,您必須使用其他名稱替代clear檢查此帖Is 「clear」 a reserved word in Javascript?

其次,你應該修復行情爭端中在你的HTML代碼完全在所有thebutton當您將onclick()事件,你會發現HERE,如:

<td><button onclick="number("7");">7</button></td> 
_____________________^______^_^__^ 

嘗試使用單引號代替:

<td><button onclick="number('7');">7</button></td> 
____________________^____________^ 

希望這會有所幫助。

+2

好的發現號碼功能調用!我錯過了這一點,不確定爲什麼有人已經低估了,因爲這意味着OP會遇到問題。我會堅持使用雙引號的onclick和函數參數使用單引號。使用動態數據的習慣,默認情況下瀏覽器使用雙引號的屬性,但我敢肯定,兩者都是一樣的。 +1預防未來的問題。 – NewToJS

+0

不用擔心..總有一些人不知道如何使用這些特權......感謝您的介入(更新了我的答案)。 –

+0

非常歡迎:)我們都來這裏幫助或尋求幫助。 – NewToJS

0

onclick="number("1");"替換爲onclick="number('1');"其中1被輸入單引號。同樣在number('s')函數的聲明中,您將變量放在單引號中,這意味着,無論何時調用數字函數,都會考慮值s,因此請在此處刪除單引號。