2014-01-23 43 views
0

我試圖從rails窗體獲取用戶輸入,並將該輸入分配給coffeescript中的對象。我的觀點看起來像......Rails coffeescript獲取用戶輸入值

<div class="from_date"> 
    From Date 
    <input type="text" id="from_date" name="from_date"></input> 
    </div> 

...和我的咖啡腳本...

jQuery -> 
    input = @value 
    alert @value 

我收到我的警告框 「不確定」。我錯過了什麼?

回答

4

你不能這樣做,因爲你的視圖是服務器端,咖啡腳本是客戶端。除非JavaScript代碼嵌入在服務器端腳本中,否則無法使用JavaScript訪問Ruby變量。但是,應該避免在服務器側視圖中嵌入JavaScript,並將其分開保存。

你可以得到from_date輸入字段使用cofeescript的值如下:

jQuery -> 
    input = $('#from_date').val() 

這將在from_date輸入字段中的值賦給變量input。請注意,只要DOM準備就緒,此分配即會發生。

我不確定您的要求是否捕獲DOM準備好的from_date的值。通常,這些分配是在某個事件上完成的,比如點擊一個按鈕。對於這樣的情況下,你會怎麼做:

jQuery -> 
    $('#my_button').click (evt) -> 
    input = $('#from_date').val() 

* 編輯由Lumbee 我使用的是...

jQuery -> 
    $("#from_date").blur -> 
    alert $('#from_date').val() 
+0

由於V型,即工作。在這種情況下,我有一個文本輸入框,所以我使用模糊事件來獲取輸入。 – Lumbee