2010-11-18 71 views
2

繼直截了當的「完整」例子之後,在閱讀Wiki並搜索moxie論壇尋找答案之後,我至今沒有想到。基本上,我試圖做what the wiki suggests is possible,但是當我用匿名函數補充示例'staffid'值時,變量不會被替換。如何在TinyMCE中創建更新模板變量?

template_replace_values : { 
    username : "Jack Black", 
    staffid : function(e){ 
     var staffidInput = yd.get('staffidInput'); 
     return (staffidInput !== null)? staffidInput.value : '0178678'; 
    } 
} 

...但它沒有工作,所以我然後實例tinyMCE的前面定義的函數:

function getStaffId(){ 

     var staffidInput = yd.get('staffidInput'); 
     alert('template_replace_values processed, staffidInput: '+staffidInput); 
     return (staffidInput !== null)? staffidInput.value : '555555'; 

    } 
... more instantiation code... 
     template_replace_values : { 
      username : "Jack Black", 
      staffid : getStaffId() 
     } 

...和值只有拿起第一次,它永遠不會更新正如wiki所暗示的(每當執行「清理」過程時)。我猜猜什麼地方是未定義的,並沒有拋出一個錯誤,因爲我的第二個,大部分成功的嘗試中的'getStaffId'將在tinyMCE iframe文檔上下文中未定義,我認爲..?

我的目標是具有可以在模板預覽屏幕中以及模板插入後配置的變量。

+0

我打算讓這個開放一下,以防萬一任何人有任何精彩的建議,但基本上我在幾分鐘後刷新了我的Chrome選項卡(比如在發佈到各個論壇後)才發現添加一個自定義CSS類到template.htm文件中的元素被拾取,並執行一個匿名函數,當自定義CSS類名稱用作template_replace_values配置對象中的鍵值時。所以我想我的問題已經回答了,因爲我可以在這裏看到一些可能性,但是,再次,任何建議... – danjah 2010-11-18 23:25:04

+0

作爲一個方面說明:'staffid:getStaffId()'應該是'staffid:getStaffId',如果你打算使用那種風格。 – deceze 2010-11-19 02:55:47

+0

好吧,這個維基在某些地方並不是最新的 – Thariama 2010-11-19 08:32:11

回答

2

取而代之的是:

template_replace_values : { 
    username : "Jack Black", 
    staffid : getStaffId() 
} 

這樣的:

template_replace_values : { 
    username : "Jack Black", 
    staffid : getStaffId 
} 

getStaffId()執行功能,並使用它的返回值作爲價值staffidgetStaffId使用功能爲staffid值。