2011-12-16 35 views
2

我嘗試使用下面的代碼獲取從兩個輸入變量,並添加在一起使用CoffeeScript的,像這樣:CoffeeScript的形式

這裏的HTML ...

<form action="" method="GET"> 
    <input type="text" name="input1" value="2"> 
    <input type="text" name="input2" value="3"> 
    <input type="button" name="button" value="Equals" onClick="math(this.form)"> 
    <span id="result" /> 
</form> 

而javascript ...

math = (form) -> 
    input1 = form.input1.value 
    input2 = form.input2.value 
    document.getElementById("result").innerHTML = parseInt(input1, 10) + parseInt(input2, 10) 

但是,它不會輸出頁面上的任何內容。當我點擊按鈕時,控制檯告訴我「數學」沒有被定義(在html代碼的第四行。)_

你們知道這裏出了什麼問題嗎?

+0

什麼是編譯的版本是什麼樣子? – 2011-12-16 02:49:11

回答

4
window.math = (form) -> 
    input1 = form.input1.value 
    input2 = form.input2.value 
    document.getElementById("result").innerHTML = parseInt(input1, 10) + parseInt(input2, 10) 

Coffeescript有固有的範圍。 默認情況下,它在封裝器中將數學作爲一個局部變量,因此您需要明確定義window.math以從網頁的其餘部分訪問它。

的CoffeeScript確實是更好,當你正在使用某種形式的JavaScript選擇器引擎的,那閹是天然的或jQuery的,等等