我的页面上有多个textarea,我试图将$ lang变量发送到我的link_list文件,然后能够以正确的语言生成链接,
如何获取当前的textarea ID值并将此值发送到我的link_list文件?
我已尝试过: tinymce.editors.id ,但遗憾的是无法正常工作。
有人可以帮帮我吗?非常感谢
<textarea id="fr" name="text_fr"></textarea>
<textarea id="en" name="text_en"></textarea>
和:
tinyMCE.init({
selector: "textarea",
link_list: "link_list.php?lang=" + tinymce.editors.id,
...
});
答案 0 :(得分:0)
tinymce.editors
数组在 之后 init()
编辑器实例时才会填充,因此您无法依赖它来获取数据你需要做初始化。
对于每种语言,我都会有单独的inits,并且有一个基本配置,您只需使用link_list值进行更新,然后使用计算出的配置进行初始化。
您始终可以使用JavaScript在编辑器实例的基础上修改/扩展标准init。
例如,从标准配置开始:
baseConfig = {
selector: 'textarea'
//everything here except your language specific configuration
....
}
...因为这只是一个简单的JavaScript对象,所以在使用它来初始化TinyMCE之前,可以在该对象中注入其他属性/方法。
例如:
customConfigEn = {
link_list: "link_list.php?lang=en"
}
customConfigFr = {
link_list: "link_list.php?lang=fr"
}
然后你可以将customConfig“注入”到baseConfig中。最简单的方法是使用jQuery的extend方法:
$.extend(baseConfig, customConfigEn);
......或......
$.extend(baseConfig, customConfigFr);
...这将获取customConfig中的所有方法和属性,并将它们添加到baseConfig。完成后,您可以使用新更新的baseConfig加载TinyMCE:
tinymce.init(baseConfig);
这种通用技术允许您创建“标准”配置,其中包含所需的所有基本功能,同时逐页注入其他配置选项。
注意:您还可以选择在呈现HTML页面之前在服务器上创建这些配置,但是您没有提到您正在使用的服务器端语言,因此我无法说明如何从服务器端。
答案 1 :(得分:0)
Michael Fromin,非常感谢您的回答。
尝试过你的解决方案,但我不明白如何使用 使用我的英文textarea时的customConfigEn和使用我的french textarea时的customConfigFr。
这是我使用customConfigEn的代码:
baseConfig = {
theme : "modern",
selector: "textarea",
plugins: ["advlist autolink...
...
}
customConfigEn = {
editor_selector: "en",
link_list: "link_list.php?lang=en",
}
customConfigFr = {
editor_selector: "fr",
link_list: "link_list.php?lang=fr",
}
$.extend(baseConfig, customConfigEn);
tinyMCE.init(baseConfig);
再次感谢您的帮助,我非常感谢