如何在TinyMCE中创建更新模板变量?

时间:2010-11-18 23:18:06

标签: javascript jquery templates dynamic tinymce

按照简单的“完整”示例,在阅读Wiki并在moxie论坛上搜索答案之后,到目前为止我还没有采取任何措施。基本上,我正在尝试what the wiki suggests is possible但是当我用匿名函数补充示例'staffid'值时,变量不会被替换。

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()
        }

...并且该值仅在第一次获取时,它从未像维基建议那样更新(每当执行'清理'程序时)。我猜某个地方是未定义的并且没有抛出错误,因为在我的第二个,大多数成功尝试中的'getStaffId'将在tinyMCE iframe文档上下文中未定义,我认为......?

我的目标是在模板预览屏幕中以及插入模板后设置变量。

1 个答案:

答案 0 :(得分:2)

而不是:

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

这样:

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

getStaffId() 执行该函数并将其返回值用作staffid的值,getStaffId将该函数用作staffid的值。< / p>