2012-03-02 70 views
0

我有這個玉文件玉不執行JavaScript函數

- if (transactions != "") 
    table 
     th Site Name 
     th Deadline 
     th Delete Transaction 

     each item in transactions 
      tr 
       td= item.item_name 
       td 
        span(id='countdown'+item.timeout)= item.timeout 
       td 
        span(style='cursor: pointer;', onclick='deleteTransaction('+item.uniqueId+')')= "X" 

    button(id='confirmButton', onclick='confirm();', value="Confirm", name="Confirm")= "Confirm" 
    script 
     fillCountdown(transactions); 

我不明白爲什麼在上線的功能fillCountdown永遠不會被調用。我不得不說這個頁面是在Chrome擴展中加載的,但是我猜想沒有什麼變化。

有人可以幫助我嗎?謝謝。

+0

看看這個玉模板生成的HTML。也許這會給你一個想法。 – jammon 2012-03-02 14:11:19

+0

HTML根本不顯示'script'標籤,我在查詢之前已經檢查過了。而JavaScript並沒有給出任何錯誤。 – Masiar 2012-03-02 14:27:52

+1

嘗試腳本(type =「text/javascript」) – 2012-03-02 16:49:35

回答

3

這個問題似乎是在玉器中使用的縮進。腳本標記後,您需要給兩個空格縮進,然後定義該函數。例如:

body 
    script(type='text/javascript') 
    function something() { 
    alert("Inappropriate Value") 
    } 

同時檢查腳本標記是否正確縮進身體標記。如果你正在腳本標籤中定義一個函數,檢查腳本標籤只有一個級別的縮進與身體標籤。在你的代碼片段中,不清楚腳本標籤嵌套在「if」情況下還是正確對齊與身體標記。當我複製你的代碼片段時,你的函數「fillCountdown」用腳本標籤4個空格縮進。在玉的縮進有兩個空間..希望這可以解決您的問題。